Подтвердить что ты не робот

Что вызывает ошибку "Максимальный уровень гнездования функции" в Symfony 2.1 и Twig?

У меня есть проект Symfony 2.1. После обновления компонентов композитора (Gedemo, Symfony core, Doctrine, Twig и т.д.) У меня есть следующая ошибка:

Fatal error: Maximum function nesting level of '100' reached, aborting! in /var/www/{path}/vendor/twig/twig/lib/Twig/Token.php on line 78

У меня PHP 5.4. Что может вызвать эту ошибку?

4b9b3361

Ответ 1

Найдите файл xdebug.ini:

$ locate xdebug.ini
/etc/php5/conf.d/20-xdebug.ini
/etc/php5/mods-available/xdebug.ini

В моем случае файл /etc/php5/conf.d/20-xdebug.ini. Откройте его и добавьте следующую строку:

xdebug.max_nesting_level = 1000

Не забудьте перезапустить сервер FPM.

Ответ 2

это код ошибки, вызывающий бесконечный цикл, но время от времени это происходит, когда обработка без ошибки превышает 100 вложенных функций.

Чтобы исправить это, откройте раздел php.ini, xdebug и добавьте следующую строку (помещая то, что вы хотите, а не 150)

 [xdebug]
xdebug.max_nesting_level = 150

Ответ 3

В моем случае мне пришлось увеличить объем памяти, используемой PHP, в php.ini до 512 МБ. Кроме того, я сделал обновление композитора в корневой папке сайта, чтобы обновить настройки по умолчанию, созданные Symfony.