Illuminate Container.php中的循环依赖关系阻止文件上载

时间:2014-11-15 21:34:24

标签: php laravel laravel-4

我不确定发生了什么,但似乎在最近更新某个库时,我无法再上传文件而不会收到以下Laravel错误:

[2014-11-15 21:27:25] local.ERROR: 500 - Maximum function nesting level of '100' reached, aborting! @ /uploads/0/1
exception 'Symfony\Component\Debug\Exception\FatalErrorException' with message 'Maximum function nesting level of '100' reached, aborting!' in /home/vagrant/Projects/test.dev/laravel/vendor/laravel/framework/src/Illuminate/Container/Container.php:480
Stack trace:
#0 [internal function]: Illuminate\Exception\Handler->handleShutdown()
#1 {main} [] []

堆栈跟踪没有提供有用的信息。

即使在该路线的方法开始时中断脚本也没有任何作用,所以在我自己的代码中它不是什么。

有人在最新的Laravel 4.2中看到过这个错误吗?

3 个答案:

答案 0 :(得分:1)

实际上,由于XDebug扩展程序而显示此错误消息。您可能会增加php.ini文件中的限制:

xdebug.max_nesting_level = 200

此外,它可能是一个递归函数调用,所以试着找出你的代码中是否有东西并进行优化。递归过多导致stackoverflowstack内存溢出)。

答案 1 :(得分:0)

这不是错误。 PHP具有限制递归函数。此限制默认为100

如果您想增加此限制,请使用XDebug。

答案 2 :(得分:0)

这是由于我将一个方法拉到父控制器并忘记了它。显然Laravel并不喜欢以这种方式访问​​的路线。将其拉回到子控制器中可以使其正常工作。