Что вызывает ошибку "Максимальный уровень гнездования функции" в 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. Что может вызвать эту ошибку?
Ответы
Ответ 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.