【发布时间】:2020-04-27 10:29:50
【问题描述】:
我的 Laravel 应用程序在我的本地机器和暂存服务器上运行良好。但是当我部署到我的生产服务器时,登录表单不起作用。每次我尝试登录管理面板时,它都会显示我的
419
抱歉,您的会话已过期。请刷新并重试。
我的头像包含<meta name="csrf-token" content="XXX">
我的登录表单包含<input type="hidden" name="_token" value="XXX">
到目前为止我做了什么:
- 尝试生成新密钥
php artisan key:generate - 已尝试清除所有缓存
php artisan cache:clearphp artisan route:clearphp artisan view:clearphp artisan cache:clear- 检查 php.ini max_execution_time 和内存限制。
- 尝试将
SESSION_DRIVER从 file 更改为 database
唯一可行但不安全且用于调试目的的方法
在 VerifyCsrfToken 类中,我在 protected $except 中添加了“api/login”和“api/register”,并且表单有效。像这样
namespace FleetCart\Http\Middleware;
use Illuminate\Foundation\Http\Middleware\VerifyCsrfToken as BaseVerifier;
class VerifyCsrfToken extends BaseVerifier
{
/**
* The URIs that should be excluded from CSRF verification.
*
* @var array
*/
protected $except = [
"api/login",
"api/register"
];
}
请帮助我了解如何解决此问题。
提前致谢。
【问题讨论】: