Перед прочтением ниже убедитесь, что в вашей форме есть @csrf
или {{ csrf_field() }}
как
<form method="post">
@csrf <!-- {{ csrf_field() }} -->
... rest of form ...
</form>
Появляется сообщение об ошибке истекшего сеанса, потому что где-то не удается проверить токен csrfэто означает, что промежуточное программное обеспечение App\Http\Middleware\VerifyCsrfToken::class
уже включено.В форме директива блейда @csrf
уже добавлена, что также должно быть хорошо.
Тогда другой областью, которую нужно проверить, является сессия.Проверка токена csrf
напрямую связана с вашим сеансом, поэтому вы можете проверить, работает ли ваш драйвер сеанса, например, неправильно настроенный Redis может вызвать проблему.
Возможно, вы можете попробовать переключитьсяваш драйвер сеанса / программное обеспечение из файла .env
, поддерживаемые драйверы приведены ниже
Поддерживаемые драйверы сеансов в Laravel 5.7 (Doc Link)
file
- сеансы хранятся в хранилище / фреймворке / сеансах. cookie
- сеансы хранятся в безопасных, зашифрованных файлах cookie. database
- сеансы хранятся в реляционной базе данных. memcached
/ redis
- сеансы хранятся в одном из этих быстрых хранилищ на основе кэша. array
- сеансы хранятся в массиве PHP и не будут сохраняться.
Если ваша форма работает после переключения драйвера сеанса, значит, что-то не так с этим конкретным драйвером, попробуйте исправить ошибку оттуда.
Возможные сценарии, подверженные ошибкам
Вероятно, файловые сеансы могут не работать из-за проблем с правами доступа к каталогу /storage
(быстрое прибегание к поиску поможет вам найти решение)
В случае с драйвером базы данных, ваше соединение с БД может быть неправильным, или таблица sessions
может не существовать или неправильно настроена (неправильная часть конфигурации была подтверждена как проблема согласно комментарию @JunaidQadir).
redis/memcached
конфигурация неверна или одновременно обрабатывается каким-то другим фрагментом кода в системе.
Это может быть хорошимидея исполнитьe php artisan key:generate
и создайте новый ключ приложения, который, в свою очередь, сбросит данные сеанса.
Очистить кэш браузера HARD , я обнаружил, что Chrome и Firefox являются преступником, которого я не помню.
Узнайте больше о том, почему ключи приложения важны