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

时间:2019-05-29 08:26:20

标签: laravel session csrf

从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 将laravel / framework依赖关系在composer.json中更新为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 +无痕模式下进行了测试,以查看缓存的会话是否有问题

运行以下命令:

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

所有表单都有csrf_field(),也存在于头部

任何可能导致此问题的提示都将受到赞赏,我已经尝试了所有可以找到的资源,但没有一个能解决问题。

2 个答案:

答案 0 :(得分:0)

这通常是由于会话无法存储或由于存储了旧的Cookie引起的。

因此,请确保已将正确的权限授予存储会话的存储目录。

如果您正在使用基于文件的会话。可以使用

进行验证

is_writable(config('session.files'))

您可以遵循另一个提出的问题中提供的解决方案,尽管它适用于Laravel 5.5。

"The page has expired due to inactivity" - Laravel 5.5

答案 1 :(得分:0)

所以对我有用的是创建一个新的laravel 5.8安装并将其文件复制到我的现有项目中,并跳过要覆盖的所有文件,运行composer更新并完成。所以我认为我在某个地方缺少文件。

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