You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

添加本地虚拟主机后Laravel 9登录出现419页面过期错误

Laravel 9 虚拟主机登录报419 Page Expired 问题解决

问题核心原因

.env文件中SESSION_DOMAIN配置错误,设置为http://payment.test:8000包含了HTTP协议和端口号,不符合Cookie域名规范,导致Session/Cookie无法被正确识别,最终触发CSRF验证失败(419错误)。而使用127.0.0.1:8000时,默认Session域名匹配规则生效,因此功能正常。

解决方案步骤

  1. 修正SESSION_DOMAIN配置
    将.env中的SESSION_DOMAIN=http://payment.test:8000修改为不带协议和端口的纯域名:

    SESSION_DOMAIN=payment.test
    

    注:Session域名无需包含端口,浏览器会自动匹配当前访问端口的Cookie。

  2. 清除配置缓存
    执行以下Artisan命令,确保新配置生效:

    php artisan config:clear
    php artisan cache:clear
    
  3. 验证Cookie有效性
    打开浏览器开发者工具(F12),切换至Application标签,查看Cookie列表,确认laravel_session和XSRF-TOKEN的Domain字段为payment.test,而非带协议或端口的错误值。

  4. 额外排查项(若问题未解决)

    • 确认config/session.php中'domain' => env('SESSION_DOMAIN', null)的配置未被修改,确保读取.env的配置值
    • 检查浏览器是否允许本地Cookie,本地开发环境建议开启该选项
    • 确认登录表单中@csrf已正确渲染(查看页面源代码,存在<input type="hidden" name="_token" value="xxx">节点)

内容的提问来源于stack exchange,提问作者Manel TABESSI

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.07.11 01:57:09