我正在使用Laravel 5.1
它完全适用于localhost。但是当我尝试登录时,它会返回错误,
TokenMismatchException in VerifyCsrfToken.php line 53:
通过在CSRF
中对'App\Http\Middleware\VerifyCsrfToken',
进行评论来删除app/Http/Kernal.php
令牌。但在此之后,它会在没有会话的情况下重定向到登录页面。
我还检查了config/session.php
,
// session.php
<?php
return [
'driver' => env('SESSION_DRIVER', 'file'),
'lifetime' => 120,
'expire_on_close' => false,
'encrypt' => false,
'files' => storage_path('framework/sessions'),
'connection' => null,
'table' => 'sessions',
'lottery' => [2, 100],
'cookie' => 'laravel_session',
'path' => '/',
'domain' => null,
'secure' => false,
];
storage
和autoload
文件夹也是可写的。
任何想法?
答案 0 :(得分:0)
如果您使用的是ajax,请查看有关csrf_field令牌设置的手册:
答案 1 :(得分:0)
由于许多问题,可能会产生此错误。
到目前为止,我只发现了3例:
可能的解决方案是:
更改表单的内容类型
刷新迁移(或以某种方式处理DB表值以实现)和
包含csrf令牌。
这是我在Laravel v5.2中的经验,你可能有不同的原因。
答案 2 :(得分:0)
在视图的登录表单中添加以下内容:
@csrf