【发布时间】:2016-09-29 13:44:13
【问题描述】:
我使用的是 Laravel 5.1,直到现在我一直使用默认文件驱动程序在我的项目中存储会话。
现在由于某些原因我决定切换到数据库驱动程序,因此,根据official documentation,我在我的 config/session.php 中更改了以下行
'driver' => 'database'
我在我的数据库中创建了会话表,当我现在开始浏览我的网站时,我可以在新表中看到一些数据:
但我现在无法从会话中获取任何数据!这些是我正在遵循的步骤:
我将我的数据存储到会话中:
session( [ 'mykey' => 'mydata' ] );
当我移动到另一个页面时,我会尝试取回我的数据。
$data = session( 'mykey' ); // this is always null
问题是输出将始终为空。 虽然如果我使用默认文件会话驱动程序返回,一切都会按预期工作,我可以从会话中获取我的存储值。
我的 config/session.php 中的其他值是默认值:
'lifetime' => 120,
'expire_on_close' => false,
'encrypt' => false,
'connection' => null,
'table' => 'sessions',
'lottery' => [2, 100],
'path' => '/',
'domain' => null,
'secure' => false,
我在配置中遗漏了什么吗?
【问题讨论】:
-
您是否将网络中间件添加到您的路由中?
-
@Jerodev 因为我使用的是 Laravel 5.1,所以没有可用的默认 Web 中间件。我错了吗?
-
确实,对不起,我的错
标签: php mysql database laravel session