【发布时间】: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如果是
array:sessions are stored in a simple PHP array and will not be persisted across requests.
标签: php laravel session persistence