Нелегальная радок Зрушэнне «#children» у drupal_render ()

Мой поўны каляндар кідае памылкі пры поглядзе з сайта:

<�Р> Папярэджаньне: няправільны аргумент пастаўляюцца для Еогеасп() у element_children() (Регель 6400 Ван C: \ Users \ Simon \ Мае сайты \ Xampp \ HTDOCS \ ххх \ ўключае ў сябе \ common.inc).
      Папярэджанне: Illegal радок Зрушэнне '#children' у drupal_render (). (Регель 5867 ван C: \ Users \ Simon \ Мае сайты \ Xampp \ HTDOCS \ ххх \ ўключае ў сябе \ common.inc)
      Папярэджанне: Illegal радок Зрушэнне '#children' у drupal_render (). (Регель 5877 ван C: \ Users \ Simon \ Мае сайты \ Xampp \ HTDOCS \ ххх \ ўключае ў сябе \ common.inc)
      Папярэджанне: Illegal радок Зрушэнне '#children' у drupal_render (). (Регель 5915 ван C: \ Users \ Simon \ Мае сайты \ Xampp \ HTDOCS \ ххх \ ўключае ў сябе \ common.inc)
      Папярэджанне: Illegal радок Зрушэнне '#printed' у drupal_render() (Регель 5922 ван C: \ Users \ Simon \ Мае сайты \ Xampp \ HTDOCS \ ххх \ ўключае \ common.inc). </Р>

Я недзе чытаў, што гэта не вельмі добра працуе пад PHP 5.4xx.

Любое рашэнне?

4
Але хіба каляндар адлюстроўваецца правільна?
дададзена аўтар Subhas, крыніца
@Nomistake апублікаваў рашэнне ніжэй, можа ў калі ласка, праверце, калі гэта працуе?
дададзена аўтар Subhas, крыніца
@RDX ды, каляндар выстаў проста выдатна на дне ...
дададзена аўтар Nomistake, крыніца
@tulvit Я бег гэтай версіі, усё яшчэ нагель поспех ;-(
дададзена аўтар Nomistake, крыніца
Карыстаецеся Ці вы апошнюю версію ядра Drupal? Ёсць даволі адны і тыя ж праблемы з PHP 5.3/5.4 сумяшчальнасці, а таксама абнаўлення да апошняй Drupal 7,22 зрабіў трук.
дададзена аўтар tulvit, крыніца

6 адказы

Лепш парада заключаецца ў наступным:

1) Для таго, каб схаваць папярэджання/памылкі/апавяшчэнне ад карыстальнікаў на жывым Drupal 7 сайта, перайдзіце да [SITE]/адмін/канфігурацыя/распрацоўкі/рэгістрацыі і адключыць адлюстраванне памылак. Не рабіце гэтага ў файле налад, а затым вы губляеце здольнасць знаходзіць праблемы.

2) It is often worthwhile to do a bit of debugging. While it is true that, as a general matter, warnings and notices can be safely ignored, they will slow down your site ( see Does PHP run faster without warnings? ). Often the error is the result of a known problem with a particular Drupal module, and there may be a patch posted on drupal.org that fixes the problem. The source of this particular (and common) bug can be difficult to track down, but there's a helpful discussion for how to do it here: http://fuseinteractive.ca/blog/put-your-children-their-place-drupal-debug-snippet

У вашым выпадку, гэта, верагодна, памылка ў модулі календара (калі выказаць здагадку, што тое, што вы карыстаецеся для календара), і вы, верагодна, хочаце паглядзець на чарзе пытанне ёсць: https://drupal.org/project/issues/calendar?categories=1

16
дададзена

Падобна на тое, што вы спрабуеце вынесці элементы, якія не маюць раскладку масіва. Паспрабуйце выкарыстоўваць debug_backtrace() і debug_print_backtrace() , каб знайсці код, які выклікае папярэджання.

Акрамя таго, вы можаце таксама выдаліць модулі і паглядзець, калі памылка робіць прэч. Абавязкова ачысціце кэш, каб пераканацца, што вы не ашуквайце сябе нічым.

Іншыя каманды, якія вы можаце выкарыстоўваць гэта дд() пм() krumo() з развіцці-модуля.

Also look at: http://php.net/display-errors and http://php.net/display-startup-errors

Дэвід

3
дададзена
Дзякуй Дэвіду за гэтую інфармацыю па адладцы і г.д., я буду паспрабаваць гэта
дададзена аўтар Nomistake, крыніца

Гэта вядомая праблема з PHP/Drupal. Усе памылкі, якія вы бачыце не памылкі, яны проста папярэджанне і можа быць вельмі праігнаравана. Вам трэба ўсяго толькі мець справу з лініямі, якія пачынаюцца з Памылка: .... .

Каб бяспечна ігнараваць гэтыя папярэджанні, змяніць друпал сайты/па змаўчанні/settings.php і дадайце наступны радок:

error_reporting(E_ALL & ~(E_STRICT|E_NOTICE|E_WARNING));

Гэта дазволіць таксама вырашыць тую ж праблему для патэнцыйна іншых убудоў таксама.

Рэкамендуемая ўстаноўка для вытворчасці Drupal, каб адключыць справаздачы пра памылкі ў цэлым, так што карыстальнікі не атрымліваюць якія-небудзь загадкавыя паведамленні пра памылкі. Для вытворчасці Drupal-сайта, вы павінны зрабіць:

error_reporting(0);

І калі вы хочаце ўбачыць памылкі ў вашым вэб-сайце, выкарыстоўваць часопісы Nginx замест гэтага.

Edit: Fix error_reporting, дадаць вытворчыя нататкі

3
дададзена
Нічога сабе. Не рабіце гэтага, - ня адключаць папярэджання, таму што вам не падабаецца бачыць іх, <�б> выправіць іх . Калі вы бачыце незаконныя ўзаемазалікаў і недапушчальныя аргументы, <�я> код няправільна . Пад «вашай» код, які я ўключаць любыя модулі вы выкарыстоўваеце. Утойванне папярэджання з'яўляецца <�б> ніколі рашэнне. Адпраўце іх у часопіс, а затым замест таго, каб мець справу з імі. Яны знак нешта не так, і калі вы не заўважылі нічога ломка, гэта проста ўніз да поспеху.
дададзена аўтар moopet, крыніца
Так, яны шчасна ігнаруемай папярэджання, няма памылкі. Я атрымліваю цэлую кучу гэтых пры запуску Drupal у распрацоўцы сайтах, але нічога, акрамя фактычнай памылкі (часопісы, пачынаючы з памылкай замест ПЕРАСЦЯРОГА) гэта не праблема.
дададзена аўтар Subhas, крыніца
прывітанне, калі я выкарыстоўваю налады справаздач аб памылках, як апісана вышэй, я атрымліваю памылку ў сінтаксісе. я ВГА гэта зараз: error_reporting = E_ALL & ~ E_NOTICE & ~ E_STRICT & ~ E_DEPRECATED & ~ E_WARNING Але я ўсё яшчэ атрымліваю памылкі ///
дададзена аўтар Nomistake, крыніца
прывітанне, ды яго праца ў цяперашні час. я спрабаваў гэта й php.ini. Дзякуй
дададзена аўтар Nomistake, крыніца
проста каб быць упэўненым, вы ўпэўненыя, што яго захаваць, каб зрабіць гэта такім чынам? Я не мурашка мець праблемы пры ўводзе сайта ў Інтэрнэце ...
дададзена аўтар Nomistake, крыніца
дзякуй за разуменне
дададзена аўтар Nomistake, крыніца
Я згодны з @moopet - гэта сапраўды дрэнны савет. Папярэджання/апавяшчэння могуць не BREAK ваш код, але гэта не значыць, што вы павінны проста ігнараваць іх ... Вы будзеце ў канчатковым выніку пісаць нягег дрэнны код і вашы часопісы будуць поўныя гэтых раздражняльных папярэджанняў і апавяшчэнняў. FIX ІХ!
дададзена аўтар featherbelly, крыніца

Я атрымліваю тоны падобных папярэджанняў з Drupal 7.23 і PHP 5.4, асабліва з панэляў. Я толькі што змяніў версію PHP ад 5,4 да 5,3 (адзін php.ini) у CPanel/PHP Config і ўсе гэтыя папярэджанні і заўвагі зніклі.

1
дададзена

Related issue: in module commons_events, equivalent error messages were triggered by a migration from PHP 5.3 to 5.4 and fixed in #1995834: PHP 5.4 Attend an Event page errors to screen in comment #13.

0
дададзена

Ці з'яўляецца гэта дапамагае я не ведаю, але ў мяне было падобнае паведамленне пра памылку, гэта было звязана са мной змены імя машыны тыпу змесціва .... Я вярнуўся да папярэдняй рэзервовай копіі, якая мела тыпу змесціва зменены, а таксама, выдаліў яго, узнавіў яго з патрэбным імем і ўсё добра

0
дададзена