Laravel 5.7新服务器登录出现419会话过期问题求助
Laravel 5.7 部署新服务器后419会话过期问题解决方案
检查
.env核心配置- 确认
SESSION_DRIVER设置为file或database(使用数据库驱动需先执行php artisan session:table和迁移命令创建会话表) SESSION_DOMAIN需匹配当前域名,例如设置为SESSION_DOMAIN=breadtownbh.com,不要带http/https前缀- 开启HTTPS的情况下,设置
SESSION_SECURE_COOKIE=true,确保Cookie仅通过安全连接传输
- 确认
重新生成应用密钥
执行命令:php artisan key:generate生成后确认
.env文件中的APP_KEY已更新,该密钥直接影响会话和CSRF令牌的加密逻辑修正目录权限(避免过度开放的777)
执行命令设置合理权限并指定用户组(以Nginx/Apache常用的www-data为例):chmod -R 775 storage bootstrap/cache chown -R www-data:www-data storage bootstrap/cache验证CSRF令牌渲染
确保登录表单中包含@csrfBlade指令,或手动添加隐藏域:<input type="hidden" name="_token" value="{{ csrf_token() }}">提交表单时检查请求参数中是否携带正确的
_token值清除各类缓存
依次执行以下命令清理应用缓存、配置缓存等:php artisan cache:clear php artisan config:clear php artisan route:clear php artisan view:clear检查会话存储路径(file驱动场景)
确认storage/framework/sessions目录存在且可写,部分服务器因PHP运行用户与文件所有者不一致,会导致会话文件无法写入
内容的提问来源于stack exchange,提问作者Aman Singh
相关产品推荐
相关产品推荐

