【发布时间】:2015-03-18 08:21:40
【问题描述】:
我使用 @dataProvider 创建了一个 PHPunit 测试。
我创建了许多测试用例并收到以下错误: “致命错误:已达到 '100' 的最大函数嵌套级别,正在中止!”
我试图通过如下编辑 php.ini 来解决这个问题:
- 注释掉:“zend_extension="php_xdebug-2.2.7-5.6-vc11.dll"
- 在[XDebug]之后添加了“xdebug.max_nesting_level=2500”
- 添加:“max_nesting_level=2500”
但这并没有解决我的问题! 如果我调用 phpinfo(); “xdebug.max_nesting_level”的值保持在100。我重启了apache和我的电脑很多次。
有人知道如何解决此问题或如何为“达到最大函数嵌套级别”创建解决方法吗?
【问题讨论】:
-
max_nesting_level设置用于防止潜在的无限循环。您是否调查过潜在问题以查看哪个函数正在调用自己? -
如何启动测试套件:通过命令行还是使用 IDE?您确定要更改正确的文件吗?有时 php.ini 对于 shell 和 apache 是不同的。尝试调查启动命令
php -i | grep 'php.ini'