laravel 在 5.2 中加入了 web middleware ,将 session , csrf , cookie 等等都放到了 web middlewar 中,但是我在通过官方的升级手册从 5.1 升级到 5.2 之后在 middleware 中并没有找到 web 中间件,直接指定 web 中间件也会报错。但是我直接使用 session 和 cookie 又不会出问题。
请问是我升级的过程中哪里出了问题吗?
我的 Route
Route::get('/', "WelcomeController@index");
Route::get('justsignin', WelcomeController@requestLogin');
Route::get('debug', 'WelcomeController@debug');
Route::get('help', 'WelcomeController@help');
我的 composer.json
"require": {
"php": ">=5.5.9",
"laravel/framework": "5.2.*",
"laravelcollective/html": "^5.2",
"barryvdh/laravel-ide-helper": "^2.1"
},
"require-dev": {
"mockery/mockery": "0.9.*",
"phpunit/phpunit": "~4.0",
"symfony/css-selector": "2.8.*|3.0.*",
"symfony/dom-crawler": "2.8.*|3.0.*",
"fzaninotto/faker": "~1.0"
},
1
imydou 2016-01-17 09:39:39 +08:00
```
Route::group(['middleware' => ['web']], function () { /* */ }); ``` |
2
KIDJourney OP @imydou 我没有这个中间件,而且我在使用 session 和 csrf 的时候没有这个中间件也可以正常运行。
|
3
ljmready 2016-01-17 14:42:53 +08:00 1
web 中间件是在这里指定的 app/Http/Kernel.php
protected $middlewareGroups = [ 'web' => [ \App\Http\Middleware\EncryptCookies::class, \Illuminate\Cookie\Middleware\AddQueuedCookiesToResponse::class, \Illuminate\Session\Middleware\StartSession::class, \Illuminate\View\Middleware\ShareErrorsFromSession::class, \App\Http\Middleware\VerifyCsrfToken::class, ], ]; 确保这里有 web ,和对应的中间件文件是否有? |
4
KIDJourney OP @ljmready 明白了!多谢你了。
|
5
ljmready 2016-01-17 19:05:42 +08:00
@KIDJourney 不客气~很高兴能帮到你
|