У меня также была такая проблема, и я обнаружил, что файлы сеанса были заблокированы для записи.Итак, я не знаю, запускаете ли вы Laravel через такие вещи, как vagrant или Docker, но я советую вам попытаться изменить права на каталог сеанса (и файлы, разумеется) (при запуске Laravel на виртуальной машине вы должныизменить права локально и в виртуальной машине (например, когда вы делитесь файлами через NFS)
Примерно так:
chmod -R 777 storage/framework/sessions
chmod -R 777 storage/logs
Я знаю, разрешение 777 - это худшее бедствие, которое вы можетекогда-нибудь представляю. Но они удобны для устранения неполадок.
Чтобы быть уверенным, что я никогда этого не забуду, я создал скрипт bash (назвал его lalog, просто потому, что хотел очистить файлы журнала и установить разрешения)
Примечание: Убедитесь, что вы используете это в каталоге сеанса. В config / session.php есть ключ files
, объявленный с местоположением. В моем случае:
<?php
//...........
'files' => storage_path('framework/sessions'),
//...........
Расположение: / usr / bin / lalog (Это файл, а не каталог)
Выполнить в оболочке как lalog
#!/bin/bash
rm -rf /home/username/Projects/x/storage/logs/laravel.log
echo "Laravel log removed"
touch /home/username/Projects/x/storage/logs/laravel.log
echo "Laravel log created"
chmod -R 777 /home/username/Projects/x/storage/
echo "CHMOD 777 on Storage dir"
Предупреждение! Это позволит всем пользователям записывать доступтак что будьте осторожны с этим!некоторая полезная информация в файле журнала Laravel.(не забудьте заглянуть в этот файл журнала перед запуском моего bash-скрипта)
Кроме того, я знаю, что он уже упоминался.Но, будьте полностью уверены, что вы всегда
- разрешаете куки в браузере, чтобы токен можно было установить в куки
- Проверьте, используете ли вы
@csrf
в своем блейдеfile
Форма должна выглядеть примерно так
<form method="POST" action="{{ route('login') }}">
@csrf
.......
</form>