Eme*_*bah 12 php laravel-5 homestead
升级到Laravel 5.1后,我在Laravel应用程序中收到此错误消息.
FatalErrorException in Dispatcher.php line 200:
Maximum function nesting level of '100' reached, aborting!
Run Code Online (Sandbox Code Playgroud)

我的应用的某些网址会出现此问题.我做了几十个composer update问题,但问题仍然存在.任何建议都将受到赞赏
Eme*_*bah 48
问题是由默认值xdebug.max_nesting_level100 引起的.
现在的解决方法是增加到xdebug.max_nesting_level某个级别,比如200或300或400
我通过bootstrap/autoload.php在Laravel 5.1中添加下面的行来将xdebug.max_nesting_level增加到120来修复我的
ini_set('xdebug.max_nesting_level', 120);
.........
define('LARAVEL_START', microtime(true));
由于Apache- php_xdebug中有1个PHP扩展,因此创建了该问题
所以,解决方案是 -
max_nesting_levellaravel 增加选项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"
Run Code Online (Sandbox Code Playgroud)
选项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
Run Code Online (Sandbox Code Playgroud)
然后,只需在那里添加1行 -
xdebug.max_nesting_level=500
Run Code Online (Sandbox Code Playgroud)
选项3-
您还可以在Laravel autoload.php文件中设置此配置.
您只需在文件中添加此行(文件中的任何位置) -
ini_set('xdebug.max_nesting_level', 500);
Run Code Online (Sandbox Code Playgroud)
你会完成:)