【问题标题】:419 - Session Expired without event authentication after deployment | Laravel 5.7419 - 会话过期,部署后没有事件身份验证|拉拉维尔 5.7
【发布时间】: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:clear
  • php artisan route:clear
  • php artisan view:clear
  • php artisan cache:clear
  • 检查 php.ini max_execution_time 和内存限制。
  • 尝试将 SESSION_DRIVERfile 更改为 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"
    ];
}

请帮助我了解如何解决此问题。

提前致谢。

【问题讨论】:

    标签: laravel session-cookies


    【解决方案1】:

    花了3天终于找到了解决办法。

    @Snapey 帮助我解决了这个问题。

    你可以在这里看到答案:https://laracasts.com/discuss/channels/laravel/419-session-expired-without-event-authentication-after-deployment-laravel-57

    在我的例子中,在开始 <?php 标签之前有一个额外的空格。

    【讨论】:

      猜你喜欢
      • 2017-10-22
      • 1970-01-01
      • 1970-01-01
      • 2019-09-09
      • 2019-05-18
      • 2016-09-12
      • 1970-01-01
      • 2019-05-03
      • 2019-03-08
      相关资源
      最近更新 更多