如何解决 Laravel 中的“CSRF Token Mismatch”

Mut*_*evu 4 php csrf laravel

我正在开发一个 Laravel 应用程序。在我的域上托管它时,我遇到了“CSRF 令牌不匹配”错误。在本地,应用程序运行良好,因为我已在标头中包含 csrf 令牌,如文档中所示。因此,csrf 令牌正在成功生成并包含在请求的标头中。在进行一些调试时,我将SESSION_DRIVERin env 文件更改为,file以便我可以看到会话。我意识到正在为一个用户生成多个会话。该SESSION_LIFETIME设置为120,我相信这是好的。查看存储在会话中的令牌storage/framework/sessions, none 包含浏览器生成的令牌。可能是什么问题?请记住,它在本地运行良好。主机域上的哪些配置可能会影响应用程序的会话。

Mee*_*ari 7

我曾经在 cPanel 中托管时遇到过同样的错误,并花了我将近 3 天的时间来找出我的案例的解决方案。我不知道这是否适合你,但试一试。

在公共文件夹内的主 index.php 文件中,编辑它并在最顶部写入 ob_start()

此函数将获取输出缓冲区的内容并返回一个字符串,该字符串将发送到浏览器进行渲染,并删除您在启动 php 之前放置的空格或换行符。

还可以尝试按照评论中的建议清除缓存。

如果这对您也有帮助,请告诉我。