【问题标题】:No session persistance Laravel没有会话持久性 Laravel
【发布时间】:2016-10-09 00:29:09
【问题描述】:

我对 Laravel 身份验证有疑问,我已经对此提出了问题here。在考虑了多件可能出错的事情后,我检查了会话是否有问题。

\Session::set('variableName', 1);
\Session::save();
var_dump(\Session::get('variableName'));

如果我在一个 HTTP 请求中执行上述代码,get 返回值,但如果我在另一个 HTTP 请求中尝试 \Session::get('variableName'),它会返回 null。

我的配置/sessions.php:

return [

    'driver' => env('SESSION_DRIVER', 'file'),

    'lifetime' => 120,

    'expire_on_close' => false,

    'encrypt' => false,

    'files' => storage_path('framework/sessions'),

    'connection' => null,

    'table' => 'sessions',

    'lottery' => [2, 100],

    'cookie' => 'laravel_session',

    'path' => '/',

    'domain' => null,

    'secure' => false,

];

存储/框架/会话中正在创建会话文件。

【问题讨论】:

  • 当你说“不同的 HTTP 请求”时,你到底是什么意思?有什么理由应该创建一个新会话?例如,如果您在隐身模式下打开一个新的 Chrome 标签页,您将获得一个新会话。
  • 不,不应创建新会话。通过不同的 HTTP 请求,我只是指转到不同的 URL 并在那里检索会话。
  • 知道了。您的会话驱动程序是什么?根据laravel.com/docs/5.2/session#introduction如果是arraysessions are stored in a simple PHP array and will not be persisted across requests.

标签: php laravel session persistence


【解决方案1】:

根据docs,您需要确保没有使用array 作为会话驱动程序,因为:

数组会话存储在一个简单的 PHP 数组中,不会跨请求持久化。

【讨论】:

    猜你喜欢
    • 2015-12-18
    • 1970-01-01
    • 2014-09-08
    • 2016-11-15
    • 2015-05-10
    • 1970-01-01
    • 1970-01-01
    • 2012-03-29
    相关资源
    最近更新 更多