简体   繁体   English

Laravel 5.2 - 没有保存的会话

[英]Laravel 5.2 - Sessions not saving

I'm using Laravel 5.2 and sessions don't seem to be saving. 我正在使用Laravel 5.2并且会话似乎没有保存。

I've tried both file and database (after creating the sessions table) and neither seem to work. 我已经尝试了文件和数据库(在创建会话表之后)并且似乎都没有工作。

I've set the file permissions to 777 on storage/framework/sessions and no sessions file is created. 我在存储/框架/会话上将文件权限设置为777,并且没有创建会话文件。

To save a session I'm using: 要保存我正在使用的会话:

session(['key' => 'value']);

and to retrieve the session I'm using: 并检索我正在使用的会话:

$value = session('key');

But I can't get it to save 但我无法保存

Ok i had a similar problem but i was already using the 'web' middleware. 好吧我有类似的问题,但我已经在使用'网络'中间件。 It turns out that if you are calling die() or dd() before your script has finished executing then your session will not persist!! 事实证明,如果您在脚本执行完之前调用die()或dd(),那么您的会话将不会持续存在!

See Laravel session data not sticking across page loads 请参阅Laravel会话数据不会跨页面加载

As already answered in here: https://stackoverflow.com/a/34454031/5781420 , be sure to assign the "web" middleware to your route or your controller. 正如在这里已经回答的那样: https//stackoverflow.com/a/34454031/5781420 ,请确保将“web”中间件分配给您的路由或控制器。

You can do this via a Route::group(...); 你可以通过Route::group(...);来做到这一点Route::group(...); , or just a Route::?(...)->middleware('web'); ,或只是一个Route::?(...)->middleware('web'); or even in the controller constructor itself by $this->middleware('web'); 甚至在控制器构造函数本身中由$this->middleware('web');

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM