Я получаю это сообщение об ошибке в моем приложении Laravel после того, как я обновился до Laravel 5.1.
FatalErrorException in Dispatcher.php line 200: Maximum function nesting level of '100' reached, aborting!
Эта проблема возникает в некоторых URL-адресах моего приложения. Я сделал множество composer update
для composer update
но проблема все еще сохраняется. Любое предложение вообще будет оценено
Проблема вызвана по умолчанию xdebug.max_nesting_level
которая равна 100.
Обходной путь на данный момент заключается в увеличении xdebug.max_nesting_level
до определенного уровня, скажем, 200 или 300 или 400
Я исправил мой, увеличив xdebug.max_nesting_level до 120, добавив строку ниже в bootstrap/autoload.php
в Laravel 5.1
ini_set('xdebug.max_nesting_level', 120);
………
define('LARAVEL_START', microtime(true));
Проблема возникает из-за 1 расширения PHP в Apache- php_xdebug
Таким образом, решение –
max_nesting_level
в laravel Опция 1-
Чтобы отключить его, вы можете следовать этому .
Если вы используете WAMP Server , вы можете легко сделать это, перейдя на php.ini –
И затем совершите это –
zend_extension = "c:/WAMP/bin/php/php5.5.12/zend_ext/php_xdebug-2.2.5-5.5-vc11-x86_64.dll"
Вариант 2-
Таким образом вы можете увеличить лимит.
Если вы используете WAMP Server , вы можете легко сделать это, перейдя на php.ini –
А после zend_extension = "c:/WAMP/bin/php/php5.5.12/zend_ext/php_xdebug-2.2.5-5.5-vc11-x86_64.dll"
должно быть что-то вроде этого –
[xdebug] xdebug.remote_enable = off xdebug.profiler_enable = off xdebug.profiler_enable_trigger = off xdebug.profiler_output_name = cachegrind.out.%t.%p xdebug.profiler_output_dir = "c:/WAMP/tmp" xdebug.show_local_vars=0
Затем просто добавьте 1 строку –
xdebug.max_nesting_level=500
Вариант 3-
Вы также можете установить эту конфигурацию в файле Laravel autoload.php .
Вы можете просто добавить эту строку в файл (в любом месте файла) –
ini_set('xdebug.max_nesting_level', 500);
И вы закончите 🙂
Эта проблема объясняется тем, что расширение xdebug включено, чтобы исправить это, либо вам нужно отключить расширение xdebug, либо изменить файл php.ini и изменить xdebug.max_nesting_level на 200 (поскольку по умолчанию этот параметр не включен в php.ini и должен добавить Это )
как :
xdebug.max_nesting_level = 200