我正在一个Laravel 8框架,我已经添加了应用程序在现场Cpanel服务器,然后它开始显示以下错误:
419页已过期
我知道通常缺少CSRF令牌将是主要问题,但在此,我添加了CSRF令牌,我使用LARAVEL刀片语法,因此添加LARAVEL刀片形式语法时,将直接添加“令牌”(CSRF)。
{{ Form::open( [ "url" => \URL::route("front.login.check"), "autocomplete"=>false,"id" => "login_form" ] ) }}
这将自动添加CSRF,我已经尝试过直接添加,但每个POST
请求都在419 PAGE EXPIRED
页面上结束。
我已经检查了什么?
Form
中未缺失CSRF Token
- 我还检查了中间件,但在表单提交后,此请求未到达中间件,它将进入
419
页面 - 还尝试
php artisan cache:clear
和dump-autoload
命令,但问题仍然存在。 - 还为
storage
、vendor
和cache
文件夹添加了755权限。
请帮助我解决此问题我接下来需要检查什么才能解决此问题?
3条答案
按热度按时间s4chpxco1#
Laravel "419页已过期"错误故障排除步骤
应用/在测试您的应用程序是否存在此错误之前,请执行"步骤12"之前的所有步骤。
1.延长会话到期时间(即24小时)。
1.确保"会话域"与**"应用程序URL"**相同。
1.确保会话cookie被发送回"HTTP"和"HTTPS"浏览器连接的服务器。
将 * myapp.local * 更改为您的应用程序域。
1.请确保随(
PUT
/POST
/DELETE
/等)HTTP请求一起提交CSRF令牌。<input type="hidden" name="_token" value="{{ csrf_token() }}" />
一起提交)。<meta>
标签"添加到所有主VIEW模板/布局的<head>
标签中。即:* * 资源/视图/布局/应用程序. blade. php和资源/视图/布局/访客. blade. php和资源/视图/欢迎. blade. php**<meta name="csrf-token" content="{{ csrf_token() }}">
npm run dev
)。resources/js/app.js1.自动重新生成您的application key。(即:
php artisan key:generate
)。1.清除应用程序缓存。(即:
php artisan cache:clear
)。1.确认应用程序调用方在应用程序的"sessions"和"cache"文件夹中具有 * 读和写 * 权限。(即:
chmod -R 755 "storage/framework/sessions" && chmod -R 755 "bootstrap/cache"
)。附录1:
1.如果您安装并启用了LaravelSanctum,请将您的应用程序域添加到"sancutum有状态域"的白名单中。
将 * myapp.local * 更改为您的应用程序域。
附录2:
1.确保"会话驱动程序"不为空。默认值为"文件"。
附录3:
1.打开Web浏览器,导航到应用程序的主页,重新加载当前页面,忽略缓存的内容。(例如:在Windows上:
Shift + F5
或Ctrl + Shift + r
以及Mac上:⌘ + Shift + r
)。1.* * 测试您的应用程序!**检查您是否仍然收到错误。
附录4(可选):
只有在到达第12步后仍出现相同错误时,才执行以下步骤。
A. Clear ALL web browser cache & cookies.测试您的应用程序!
B.打开一个完全不同的网页浏览器,然后再次测试。如果你一直在使用Google Chome/Safari,那么试试用Firefox测试。测试你的应用!
C.重新启动计算机并再次测试。测试您的应用程序!
tzdcorbm2#
1-
php artisan route:clear
2-转到CSRF中间件并尝试将“*”添加到except数组中
v2g6jxz63#
当这种情况发生在我身上时,是因为我忘记在表单中的输入中添加“name”属性