在laravel 5.2中的每个请求上创建多个会话文件。*

时间:2016-04-19 05:28:26

标签: php laravel session

目前我正在使用laravel 5.2.29。在每个请求上生成新的会话文件,并且不删除旧文件。

config / session.php文件

<?php
return [
    'driver' => env('SESSION_DRIVER', 'file'),
    'lifetime' => 120,
    'expire_on_close' => false,
    'encrypt' => false,
    'files' => storage_path('framework/sessions'),
    'connection' => null,
    'table' => 'sessions',
    'lottery' => [2, 100],
    'cookie' => 'laravel_session',
    'path' => '/',
    'domain' => null,
    'secure' => false,
    'http_only' => true,
];

我将所有路由放在中间件组&#39; web&#39;

Route::group(['middleware' => ['web']], function () {
    //Login
    Route::post('login', 'User\LoginController@login'); 
});

为什么会这样?如何解决这个问题?

我已经尝试过更改cookie名称,但是在laravel 5.2.23中可以正常使用它,所以我将项目降级到laravel 5.2.23并尝试了但是没有工作。

有人帮助我解决这个问题。

2 个答案:

答案 0 :(得分:1)

删除Route :: group,这应删除重复项。对于旧的会话文件,它将在一段时间后清理。别管它。

答案 1 :(得分:0)

从5.1升级到laravel 5.4之后我遇到了类似的问题,我发现我没有正确升级app / Http / Kernel.php。

\Illuminate\Session\Middleware\StartSession::class

protected $middleware数组和

中声明了两次
protected $middlewareGroups

$middleware数组中删除后,它开始正常工作

$middleware已应用于所有路由,$middlewareGroups已应用于特定群组