小编Sub*_*ect的帖子

会话不适用于中间件Laravel 5

我试图在Laravel 5 Middleware中使用Sessions,但它们无法正常工作.具体来说 - var_dump(Session::all());在handle方法的开头给我一个数组的值--_tokken,然后在这个方法的最后

Session::put('lang',$locale);
var_dump(Session::all());
Run Code Online (Sandbox Code Playgroud)

给我数组有两个值,_tokken和我的lang键,但刷新后它相同,据我所知,第二次刷新后应该有相同的结果.

我可能在Session中间件之前加载了我的中间件,这是真的,然后我切换了,现在我的Kernel.php看起来像这样 -

protected $middleware = [
        'Illuminate\Foundation\Http\Middleware\CheckForMaintenanceMode',
        'Illuminate\Cookie\Middleware\EncryptCookies',
        'Illuminate\Cookie\Middleware\AddQueuedCookiesToResponse',
        'Illuminate\Session\Middleware\StartSession',
        'Illuminate\View\Middleware\ShareErrorsFromSession',
        'App\Http\Middleware\VerifyCsrfToken',
        'App\Http\Middleware\Language',

    ];
Run Code Online (Sandbox Code Playgroud)

所以我问 - 我做错了什么?

编辑:挖掘Illuminate\Session\Middleware\StartSession我发现了这个 -

//Note that the Laravel sessions do not make use of PHP "native" sessions in any way since they are crappy.
Run Code Online (Sandbox Code Playgroud)

作为评论,所以我对session_status()的测试不是相关的.

php session laravel laravel-5

10
推荐指数
3
解决办法
2万
查看次数

标签 统计

laravel ×1

laravel-5 ×1

php ×1

session ×1