[英]Laravel session/storage is empty on refresh
我有以下代码:
echo 'First try: <br />';
$input = Session::get('input');
pre($input, false);
echo 'Second try: <br />';
Session::put('input', 'test');
pre(Session::get('input'));
第一次加载时会给出以下输出:
First try:
Second try:
test
这是第一次期望,但是当我重新加载页面时,我得到的输出完全相同。 刷新后,所有数据都将丢失。
我知道这不是闪存数据,但我无法找出为什么它不存储数据。 我在Windows上使用基于文件的会话和Xampp(使用工匠服务时也是如此)。
该存储文件夹是可写的。
编辑:刚尝试与数据库会话,相同的结果。 而且我直接在路由文件中执行此操作,因此没有其他代码可以将其弄乱。
前置功能:
function pre( $data , $kill = true)
{
echo '<pre>'.print_r($data,true).'</pre>';
if($kill){
exit;
}
Laravel的会话数据是响应关闭过程的一部分。 这是出于效率方面的考虑-如果您在请求中进行数十次Session::put
调用,最好一次批量进行所有调用。
结果,如果您没有通过诸如View::make
或Response::json
类的东西引起响应,或者exit
或者die
,则由于缩短了响应生命周期,因此不会写入会话数据。
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.