【问题标题】:I can not change XDebug settings like xdebug.max_nesting_level我无法更改 XDebug 设置,例如 xdebug.max_nesting_level
【发布时间】: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'

标签: php phpunit xdebug


【解决方案1】:

PHP 有不同的 php.ini 文件

命令行应用需要编辑/etc/php5/cli/php.ini

用php5-fpm编辑/etc/php5/fpm/php.ini

ubuntu需要编辑/etc/php5/fpm/conf.d/xdebug.ini/etc/php5/cli/conf.d/xdebug.ini

【讨论】:

    【解决方案2】:

    尝试编辑 /etc/php5/mods-available/xdebug.ini

    【讨论】:

    • 谢谢,但我没有这个文件!
    【解决方案3】:

    感谢两位重播, 但我解决了这个问题!

    这是一个愚蠢的错误!

    我在不同的文件夹 °!° !? 中还有 2 个 php.ini 文件

    • ...\WAMP_config\tmp\php.ini
    • ...\WAMP_config\php.ini
    • ...\WAMP\php-5.6.5\php.ini

    如果我编辑了所有这些文件,它就可以工作!

    但现在我有错误“致命错误:内存不足” 我也可以增加价值,但我认为我有太多的测试。 有没有更好的解决方案来管理这么多的测试用例? 拆分成测试服?

    【讨论】:

      猜你喜欢
      • 2012-07-02
      • 2018-07-19
      • 1970-01-01
      • 1970-01-01
      • 2015-06-10
      • 2022-01-09
      • 1970-01-01
      • 1970-01-01
      • 2018-06-06
      相关资源
      最近更新 更多