我有Laravel 5的全新安装,其实我已经试过这对多个版本,并不断撞击同样的问题。
我还没有从默认除了设置会话司机Redis的改变任何东西。 (也可根据文件具有相同的问题)。
我有两个途径设置如下
Route::get('/set/{value}', function($value) {
var_dump(Session::getId());
Session::set('test', $value);
return view('welcome');
});
Route::get('/get', function() {
return 'Get ' . Session::get('test');
});
如果我访问的URL /设置/ ABC我看到会话出现在Redis的(我也看到了使用基于文件时创建的文件)。 该会议的Redis看起来不错,如下图所示
127.0.0.1:6379> KEYS *
1) "laravel:1a3ae6caff6346e4a173fdc1ab4c6eb0f138806b"
2) "laravel:fed1af2fb44c6e625953237c3fa6fcbb05366a5c"
3) "laravel:cb37286ccfe3e7caa20557aca840f50cb5a5f20d"
每次我虽然访问该页面,它将重新创建一个新的会话。
session.php文件文件的关键部分如下:
'lifetime' => 120,
'expire_on_close' => false,
我也曾在Redis的检查会话变量的TTL以及他们在120分钟(相当于秒)获得初始化。
任何想法,我做错了什么?
这可能是值得一提,我使用宅基地VM(完全的股票)来测试这一点。 我一直在使用多个浏览器也尝试过。 没有饼干是不断发送到浏览器,我相信一个会话ID应该作为初始GET请求的一部分被发送到浏览器?