Laravel 5.8.11 获取 419 页面已过期所有受影响的表单

Laravel 5.8.11 getting 419 page expired all forms affected

从 Laravel 5.5 升级到 5.8(当前版本 5.8.11)开始。问题是,当我在本地测试时,一切正常,当我将我的项目上传到我的主机(专用服务器/共享主机都尝试过)时,我得到一个 419 页面已过期,但这并不是唯一的登录所有表单都受到影响并且给419页面过期

5.5 -> 5.6

update dependency: "fideloper/proxy": "^4.0", updated all other dependencies to latest versions
update php unit: 7
removed php artisan optimize from composer.json

5.6 -> 5.6.30 没有变化

5.6 -> 5.7 在 composer.json 中将 laravel/framework 依赖项更新为 5.7 更改资产目录

From resources/assets/js/* to resources/js/*
From resources/assets/sass/* to resources/sass/*

更新mix.js

mix.js('resources/js/app.js', 'public/js')
.sass('resources/sass/app.scss', 'public/css');

5.7 -> 5.8 在 composer.json

中将 laravel/framework 依赖项更新为 5.8

创建了新的 5.8 安装并将文件移动到它,目前只移动我为创建而编辑的文件(制作 2 个版本 5.5 和 5.8)但这需要一些时间。

生成了新的应用密钥(没有变化) 将默认会话域设置为我的域(无更改) 在 Firefox 和 chrome + incognito 模式下测试以查看缓存会话是否有问题

运行 以下命令:

composer dump-autolaod
php artisan cache:clear
php artisan config:cache
php artisan route:cache

所有表格都有csrf_field(),也出现在head

可能是什么导致了这个问题?

这通常是由于会话无法存储或由于存储了旧的 cookie 而导致的。

因此请确保为存储会话的存储目录授予适当的权限。

如果您正在使用 file-based 会话。可以用

验证

is_writable(config('session.files'))

您可以按照提出的另一个问题中提供的解决方案进行操作,但它适用于 Laravel 5.5。

所以对我有用的是创建一个新的 laravel 5.8 安装并将其文件复制到我现有的项目中并跳过它想要覆盖的任何文件,运行 作曲家更新并完成。所以我假设我在某个地方丢失了一个文件。

这可能不是最好的解决方案,但这对我有用。