Laravel 5.5会话在每个请求中丢失

时间:2017-11-02 19:01:29

标签: php session redis laravel-5.5

登录时,身份验证正常工作,用户被重定向到登录页面(首先是/ home,但我也尝试更改为/ dashboard)但是会话似乎丢失,因为它在记录时显示空数组登录控制器。

我的设置涉及将Redis用作会话存储,但我也尝试过使用相同结果的文件和数据库驱动器。

更奇怪的是,我能够在我的redis cli中查看会话数据而没有任何问题。

我试图无效的一些“修复”是:
  - 从会话cookie名称(以及破折号/连字符)中删除下划线   - 将会话域设置更改为主域和子域的所有组合

有没有人对任何其他可能的修复有任何想法?

更新:

尝试了其他修复:

  • 备用会话驱动程序(文件,数据库和cookie)
  • php artisan cache:clear
  • php artisan clear-compiled

1 个答案:

答案 0 :(得分:0)

你在哪里写路线? 请注意,web中间件使用默认的Laravel会话。

所以用routes/web.php编写的路由是使用Laravel Session的路由。您也可以尝试使用文件驱动程序,但请确保/storage文件夹的权限为0755。

另外,您能否检查App\Providers\RouteServiceProvider mapWebRoutes()方法是否如此?

/**
 * Define the "web" routes for the application.
 *
 * These routes all receive session state, CSRF protection, etc.
 *
 * @return void
 */
protected function mapWebRoutes()
{
    Route::middleware('web')
         ->namespace($this->namespace)
         ->group(base_path('routes/web.php'));
}

假设您没有修改app\Http\Kernel.php