【问题标题】:Laravel - Maximum function nesting level of '100' reached in localhost:8000Laravel - 在 localhost:8000 中达到的最大函数嵌套级别“100”
【发布时间】:2016-06-24 09:43:51
【问题描述】:

我正在使用 PhpStorm 和 localhost:8000

我正在尝试登录,但在提交我的信息后出现此错误:

致命错误:达到“100”的最大函数嵌套级别,正在中止

我读到了这个问题,发现改变了 php.ini 并评论了这一行:

zend_extension = "d:/wamp/bin/php/php5.3.8/zend_ext/php_xdebug-2.1.2-5.3-vc9.dll

我会帮忙的。 但我不知道localhost:8000 上的php.ini 在哪里。有什么建议吗?

【问题讨论】:

  • 这可能是因为你有一些调用自身的函数。你能显示一些代码吗?
  • 我们正在开发团队,其他成员可以很好地登录。
  • @AdamPietrasiak 我的文件有问题吗?
  • 在你的驱动中搜索,php.ini在"d:/wamp/bin/php/php5.3.8/
  • 输出php_ini_loaded_file的结果将打印php.ini文件的完整路径。

标签: php laravel phpstorm xdebug


【解决方案1】:

你得到这个错误的原因是因为 Laravel 在嵌套级别调用函数太深了。比如下面做了三个嵌套层次(主体、函数a、函数b)。

<?php
function b()
{
}

function a()
{
    b();
}

a();
?>

调试器扩展 Xdebug 确保这种嵌套不会无限进行,因为这(过去)会使服务器崩溃。 在命令行上尝试php -r 'function a() { a(); } a();',您可能会遇到内存不足错误。

默认情况下,Xdebug 将这些级别的最大值设置为“100”,尽管最近的版本将默认值更改为“256”。您可以更改 php.ini 中的值:

xdebug.max_nesting_level=1000

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 2015-08-28
    • 2012-04-26
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多