我在登录时遇到Laravel会话问题。
1.是的,我的表格中包含了CSRF令牌。
2.是,令牌未过期。
3.是的,会话安全Cookie设置为假。
我使用redis
作为我的SESSION_DRIVER
,而expiration time
设置为120 minutes
。
最让我烦恼的是,"有时有效,有时无效“。
如果我打开一个匿名选项卡并尝试登录,10/20次它会正常工作,没有任何问题,但其他10次会导致
[419 |会话已过期]错误
。
我的环境是CentOS
、Nginx
。
没有任何代理,我也没有使用云耀。
我真的很惊讶,因为行为是不一致的,这是字面上的随机行为,导致成功或不成功的登录。
有人知道是什么情况吗?
2条答案
按热度按时间p8ekf7hl1#
我也遇到了同样的问题,我的应用程序在localhost上工作,并在cpanel上显示该错误。解决方案是更改
SESSION_DOMAIN
变量,如果您的应用程序是live,其值应该是您的域。SESSION_DOMAIN=domain.com
bvuwiixz2#
要解决此错误,您首先需要将以下命令之一插入表单标记中。
字符串
如果您的问题没有解决,请执行以下操作:(注意,上述命令之一必须在表单标记中)
1.将以下命令之一插入表单标记
@csrf OR {{ csrf_field }}
2.打开.env文件并将值更改为
SESSION_DRIVER
部分中的“file”。3.然后你应该重置laravel缓存。在终端中输入以下命令
php artisan view:clear
php artisan route:clear
php artisan cache:clear
php artisan config:cache
或php artisan optimize
4.在最后一步,从服务器中拔出项目,并再次单击php artisan serve
希望你的问题解决了