从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(),也存在于头部
任何可能导致此问题的提示都将受到赞赏,我已经尝试了所有可以找到的资源,但没有一个能解决问题。
答案 0 :(得分:0)
这通常是由于会话无法存储或由于存储了旧的Cookie引起的。
因此,请确保已将正确的权限授予存储会话的存储目录。
如果您正在使用基于文件的会话。可以使用
进行验证 is_writable(config('session.files'))
您可以遵循另一个提出的问题中提供的解决方案,尽管它适用于Laravel 5.5。
答案 1 :(得分:0)
所以对我有用的是创建一个新的laravel 5.8安装并将其文件复制到我的现有项目中,并跳过要覆盖的所有文件,运行composer更新并完成。所以我认为我在某个地方缺少文件。
这可能不是最好的解决方案,但这对我有用。