照明容器中的循环依赖.php阻止文件上传


Circular dependency in Illuminate Container.php preventing file uploads

我不确定发生了什么,但似乎在最近更新某些库期间,我无法再上传文件而不会收到以下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 中看到过这个错误吗?

实际上,由于扩展XDebug出现此错误消息。您可以提高php.ini文件中的限制:

xdebug.max_nesting_level = 200

此外,它可能用于递归函数调用,因此请尝试找出代码中是否有某些内容并对其进行优化。过多的递归会导致stackoverflowstack内存溢出)。

这不是

一个错误。PHP 具有限制递归函数。此限制默认100

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

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