您好我正在使用Laravel 5.2的开发版本,我遇到了问题。
如果我试试这个:
Session::set('hi', 'hello') dd(Session::get('hi'))
它打印“你好”,但如果我删除设置行并刷新页面,则打印 null
每次刷新浏览器时,CSRF token
都会重新生成不同的令牌。
原生会话($ _ SESSION)可以正常工作,因此不存在浏览器问题。
我正在使用文件驱动程序,但我尝试了cookie驱动程序甚至是“本机”驱动程序,但它不起作用。
你知道这里会发生什么吗?
谢谢。
答案 0 :(得分:2)
在laravel 5.2中,您需要使用“web”中间件来解决您的问题,例如
Route::group(['middleware' => ['web']], function () {
// here you should put your routes
});
答案 1 :(得分:2)
@paranoid是对的,你应该这样使用它。
use Illuminate\Http\Request;
Route::group(['middleware' => ['web']], function () {
Route::get('/', function () {
return view('welcome');
});
Route::get('/setSession', function (Request $request) {
return $request->session()->put('key', 'value');
});
Route::get('/getSession', function (Request $request) {
return $request->session()->get('key', 'value');
});
});