繁体   English   中英

Laravel会话/存储在刷新时为空

[英]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::makeResponse::json类的东西引起响应,或者exit或者die ,则由于缩短了响应生命周期,因此不会写入会话数据。

暂无
暂无

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

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