【发布时间】:2017-01-13 02:31:43
【问题描述】:
不幸的是,我的 laravel-session 有问题:
当我将一些产品添加到会话购物车并重新加载页面几次时,会话数据将完全丢失。
会话配置:
'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,
(全部默认)
Laravel 版本: 5.2.43
问题出现在本地 (xampp) 和服务器上 (forge)。所以我怀疑不是服务器问题。
我用中间件尝试了不同的解决方案,但不幸的是没有任何成功。看起来,在一些请求/页面随机重新加载后,会话被删除了。 (有时在 5 之后,有时在 20 之后)
我发现当我按请求加载图像时(不是直接通过文件),会话会更频繁地丢失。
对于 laravel 初学者来说,Session-percistence 显然是个大问题。 很多论坛和论坛都充满了解决方案,但我发现没有一个能解决我的问题。
有什么经验吗?
谢谢!
【问题讨论】:
-
您的 .env 文件中指定了什么驱动程序?也许你可以换个司机。
-
@Jan in .env 还有:SESSION_DRIVER=file。切换到不同的驱动程序,这只是一种解决方法,而不是我认为的解决方案。
-
您可以尝试将其更改为“cookie”或“数据库”吗?
-
cookie 驱动程序导致同样的问题。接下来我测试数据库驱动程序...
-
首先数据库驱动程序工作正常,但是当我重新加载页面大约 100-150 次时,会话将丢失:(