Laravel 6 会话不会持续 web.php
Laravel 6 Session does not persist in web.php
我将两个文件放在一起 web.php 以便它们共享相同的网络中间件。但是session不存储
我正在创建一个 SMS OTP 系统。在 API\SmsController@create 函数中我 运行
$rand = rand(100000,999900);
session()->put('otp_test', $rand);
session()->keep(['otp_test']);
在 API 请求之后,我可以从 Laravel 会话选项卡中的调试器中看到会话变量。
但是,当我刷新页面时,SESSION 变量不存在。只留下
_token Zv3IpiLwwIXTUMc4tMW1J9eJA5lJCliGtdwEvx0e
_previous array:1 [ "url" => "http://sms.test/register" ]
_flash array:2 [ "old" => [] "new" => [] ]
url array:1 [ "intended" => "http://sms.test" ]
PHPDEBUGBAR_STACK_DATA
此外,当我执行表单 Post 时,session('otp_test')
也为 NULL。
刷新页面后。那里有 opt_test
会话。
我尝试了 session.php 中的文件和数据库,当我刷新或转到下一页时,它们都不会持续存在。
好像还是闪一下。
keep
方法用于 flashed 会话数据。闪烁的会话变量最终将被删除。您刚刚将您的常规会话变量(在您删除它之前一直存在,会话被刷新或终止)变成一个闪烁的变量,该变量将通过调用 keep
自动删除。
我将两个文件放在一起 web.php 以便它们共享相同的网络中间件。但是session不存储
我正在创建一个 SMS OTP 系统。在 API\SmsController@create 函数中我 运行
$rand = rand(100000,999900);
session()->put('otp_test', $rand);
session()->keep(['otp_test']);
在 API 请求之后,我可以从 Laravel 会话选项卡中的调试器中看到会话变量。
但是,当我刷新页面时,SESSION 变量不存在。只留下
_token Zv3IpiLwwIXTUMc4tMW1J9eJA5lJCliGtdwEvx0e
_previous array:1 [ "url" => "http://sms.test/register" ]
_flash array:2 [ "old" => [] "new" => [] ]
url array:1 [ "intended" => "http://sms.test" ]
PHPDEBUGBAR_STACK_DATA
session('otp_test')
也为 NULL。
刷新页面后。那里有 opt_test
会话。
我尝试了 session.php 中的文件和数据库,当我刷新或转到下一页时,它们都不会持续存在。 好像还是闪一下。
keep
方法用于 flashed 会话数据。闪烁的会话变量最终将被删除。您刚刚将您的常规会话变量(在您删除它之前一直存在,会话被刷新或终止)变成一个闪烁的变量,该变量将通过调用 keep
自动删除。