TokenMismatchException в VerifyCsrfToken.php строка 68: Laravel 5.3 - PullRequest
0 голосов
/ 06 сентября 2018

Я искал ответы в сети в течение 3 часов и перепробовал так много решений, но это не сработало. Я пробовал: ответы от здесь

Но никто из них не работал

Решение 1:

sudo rm -rf storage/framework/sessions/*
sudo php artisan cache:clear

Решение 2:

Очистка кеша и файлов cookie в моем браузере, затем запуск

php artisan config:cache а также php artisan cache:clear

Решение №. 3

enter image description here

Решение №. 4

enter image description here

Решение № 5

Я попытался изменить {{ csrf_field() }} на {!! csrf_field() !!}

Решение №. 6

Я попытался переместить Auth::routes(); поверх моих веб-маршрутов.

Решение №. 7

enter image description here

Решение №. 8

Я изменил свой код с:

 <form class="form-horizontal" role="form" method="POST" action="{{ url('/login') }}">
   {{ csrf_field() }}

до:

 <div class="panel-body">
    {!! Form::open([ 'route' => 'login', 
                     'method' => 'POST' ]) !!}

Я даже пытался добавить {{ csrf_field() }} в Form::open

Я даже пытался добавить еще одну скобку {{{ csrf_field() }}}

Решение №. 9

Отчаянно перезагружая мой сервер (MAMP) и затем очищая кеш

Есть еще одно решение, в котором говорится, что я должен загрузить новую версию Laravel, но я не могу этого сделать, потому что это большой проект.


Вот мой .env file

API_DEBUG=true
APP_ENV=local
APP_KEY=base64:g43UiAlu11L/y9ThUjiVqFi52/d2Jf/JHaPNwkwzU4o=
APP_DEBUG=true
APP_LOG_LEVEL=debug
APP_URL=http://127.0.0.1

BROADCAST_DRIVER=log
CACHE_DRIVER=file
SESSION_DRIVER=file
QUEUE_DRIVER=sync

SESSION_SECURE_COOKIE=true

REDIS_HOST=127.0.0.1
REDIS_PASSWORD=null
REDIS_PORT=6379

PUSHER_APP_ID=
PUSHER_KEY=
PUSHER_SECRET=

API_PREFIX=api
API_SUBTYPE=app
API_VERSION=v1

JWT_TTL=20160

SIGN_UP_RELEASE_TOKEN=false
PASSWORD_RESET_RELEASE_TOKEN=false

PAGINATION_ITEMS_PER_PAGE=10

# Database Connections

DB_CONNECTION=mysql-core
DB_CORE_HOST=localhost:8889
DB_CORE_PORT=3306
DB_CORE_DATABASE=core
DB_CORE_USERNAME=root
DB_CORE_PASSWORD=root

мой Kernel.php

class Kernel extends HttpKernel
{
protected $middleware = [
    \Illuminate\Foundation\Http\Middleware\CheckForMaintenanceMode::class,
];

/**
 * The application's route middleware groups.
 *
 * @var array
 */
protected $middlewareGroups = [
    'web' => [
        \App\Http\Middleware\EncryptCookies::class,
        \Illuminate\Cookie\Middleware\AddQueuedCookiesToResponse::class,
        \Illuminate\Session\Middleware\StartSession::class,
        \Illuminate\View\Middleware\ShareErrorsFromSession::class,
        \App\Http\Middleware\VerifyCsrfToken::class,
        \Illuminate\Routing\Middleware\SubstituteBindings::class,
        'secure.requests',
    ],

по моему session.php

'driver' => env('SESSION_DRIVER', 'file'),
'files' => storage_path('framework/sessions'),
'domain' => env('SESSION_DOMAIN', null),
'secure' => env('SESSION_SECURE_COOKIE', false),

Вот мой web.php

<?php

Route::group([ 'middleware'  => [ 'secure.requests' ] ], function() {

    Auth::routes();

    Route::get('/', function () {
        return view('welcome');
    });

});

Я также использую laravel dubugbar enter image description here

Это длинный пост, но я отчаянно пытаюсь решить эту проблему. Я надеюсь, что кто-то может помочь мне.

РЕДАКТИРОВАТЬ: Я попытался войти со стороны API (локально), и это работает. проблема только веб-сторона.

Ответы [ 3 ]

0 голосов
/ 06 сентября 2018

Попробуйте это

{{ csrf_field() }} до

<input type="hidden" name="_token" class="_token" value="{{ csrf_token() }}">
0 голосов
/ 06 сентября 2018

Я нашел эти шаги отсюда: несоответствие токена

1). Удалите поле 'SESSION_DRIVER' из вашего .env 2). Зайдите в ваш config / session.php и в домене отметьте второй параметр env () обнулить, т.е.

'domain' => env ('SESSION_DOMAIN', null)

3). Запустите php artisan cache: config и php artisan cache: очистить 4). Перезапустите сервер и очистите кеш браузера, и все может быть и работает сейчас.

0 голосов
/ 06 сентября 2018

Однажды я столкнулся с той же проблемой, попробуйте запустить команду ниже из каталога проекта:

chmod 777 хранилище / framework / сессий /

Я надеюсь, что это сработает для вас!

...