Laravel 5.2,最大函数嵌套级别


Laravel 5.2, Maximum function nesting level

请帮我了解发生了什么。我刚刚建立了一个基本的Laravel项目。这是一个新的Laravel项目(5.2.29)

这是route.php

Route::get('/', 'TestController@index');

这是测试控制器

class TestController extends Controller
{
    public function index()
    {
        return view('home');
    }
}

home.blade.php是一款全新的Laravel装置,即打印"Laravel 5"的装置。

当我添加"web"中间件时,如下

Route::group(['middleware' => ['web']], function () {
    Route::get('/', 'TestController@index');
});

我得到这样的错误:"达到最大函数嵌套级别‘100’,正在中止!"。我读了一些关于xDebug的线程,所以我把这一行添加到xDebug.ini 中

xdebug.max_nesting_level = 1000

但一切都没有改变。

有什么帮助吗?或者还有什么建议我可以查一下?感谢

尝试删除web中间件,因为现在它会自动应用于所有路由。因此,由于v.2.27,您不需要应用web中间件来避免错误。

如果您安装了新的应用程序(安装时为5.2.27),则不必使用web中间件组,因为它将自动应用,但如果您安装的是5.2.27之前的版本,然后更新到5.2.27或更高版本,则仍然需要使用它。

因此,首先您需要验证app/Providers/RouteServiceProvider.php是否自动应用了web中间件组。如果是,您应该将其从routes.php中删除,因为您可能会出现意外行为。

如果不是这样,您应该验证web中间件组中包含哪些中间件,因为其中一些中间件可能会导致问题