PHP中有一个非常糟糕的限制:如果你调用一个调用a2()的函数a1(),那就调用a3 …所以当a99()调用a100()时你会看到
Fatal error: Maximum function nesting level of ‘100’ reached, aborting!
有没有办法将100个嵌套调用的限制增加到500或10000?
这对我来说至关重要,因为我正在开发一个带有大量回调的基于事件的系统.
解决方法:
此错误消息特别来自XDebug扩展. PHP本身没有函数嵌套限制.在你的php.ini中更改the setting:
xdebug.max_nesting_level = 200
或者在您的PHP代码中:
ini_set('xdebug.max_nesting_level', 200);
至于你是否真的需要改变它(即:如果有一个递归函数的替代解决方案),没有代码,我无法分辨.