【问题标题】:Maximum function nesting level of '100' reached, aborting after upgrading to Laravel 5.1达到“100”的最大函数嵌套级别,升级到 Laravel 5.1 后中止
【发布时间】:2015-08-28 11:30:52
【问题描述】:

升级到 Laravel 5.1 后,我在 Laravel 应用程序中收到此错误消息。

FatalErrorException in Dispatcher.php line 200:
Maximum function nesting level of '100' reached, aborting!

此问题出现在我的应用的某些 URL 上。我已经做了几十个composer update,但问题仍然存在。任何建议都将不胜感激

【问题讨论】:

  • 您可以在 php.ini 中增加限制,但这可能是逻辑错误 - 某些函数正在调用自身或循环未正确关闭。
  • 谢谢,是的,我认为一个函数会一遍又一遍地调用自己。我不希望增加 php.ini 中的限制,希望找到并修复它

标签: php laravel-5 homestead


【解决方案1】:

问题是由默认xdebug.max_nesting_level 100 引起的。

目前的解决方法是将xdebug.max_nesting_level 增加到一定水平,例如 200 或 300 或 400

我通过将 xdebug.max_nesting_level 增加到 120 来修复我的问题,方法是将下面的行添加到 Laravel 5.1 中的bootstrap/autoload.php

ini_set('xdebug.max_nesting_level', 120);

…………

define('LARAVEL_START', microtime(true));

【讨论】:

    【解决方案2】:

    问题是由于 Apache 中的 1 个 PHP 扩展 - php_xdebug

    所以,解决办法是——

    1. 禁用扩展
    2. 增加扩展的嵌套级别
    3. 在 laravel 中增加 max_nesting_level

    详细说明

    选项 1-

    要禁用它,您可以关注this

    如果您使用的是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"
    
    • PC 之间的路径应该不同
    • 在行前添加 # 是注释

    选项 2-

    您可以通过this的方式增加限制。

    如果你使用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);
    

    你会完成的:)

    【讨论】:

      【解决方案3】:

      这个问题是由于启用了 xdebug 扩展, 要解决此问题,您必须禁用 xdebug 扩展或编辑 php.ini 文件并将 xdebug.max_nesting_level 更改为 200(默认情况下,此参数不包含在 php.ini 中,必须添加它)

      喜欢:

      xdebug.max_nesting_level=200

      【讨论】:

        猜你喜欢
        • 1970-01-01
        • 2012-04-26
        • 1970-01-01
        • 2016-06-24
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 2013-07-03
        • 1970-01-01
        相关资源
        最近更新 更多