Я только что создал новый проект laravel версии 5.5 с помощью установщика laravel. И запустите команду «php artisan make: auth«. Виды и контроллер создаются для аутентификации пользователя. И также запускаются»php ремесленник мигрировать«для создания таблиц, необходимых в базе данных. При посещении страницы входа и регистрации, заполнения формы и отправки. Это показывает» Срок действия страницы истек из-за неактивности. Пожалуйста, обновите и попробуйте снова. «. Но обновление страницы не поможет.
Видно в исходном коде, где вызывает исключение:
if ($e instanceof ModelNotFoundException) {
$e = new NotFoundHttpException($e->getMessage(), $e);
} elseif ($e instanceof AuthorizationException) {
$e = new AccessDeniedHttpException($e->getMessage());
} elseif ($e instanceof TokenMismatchException) {
$e = new HttpException(419, $e->getMessage());
}
Кажется, «TokenMismatchException» вызывает эту проблему.
Когда это случилось? И почему? Я просто создал этот новый проект и не делал никаких других изменений.
Надеюсь, вы получили очки.
Я использую php 7.1.9 (для laravel 5.5 требуется php> 7.0.0). И обслуживаю проект в среде разработки с помощью: php artisan serve
У меня была такая же проблема на localhost:8000
(php artisan serve
). Может быть, это совпадение, но примерьтечистый браузер«, кроме того, что вы использовали в предыдущей разработке.
Для меня это сработало.
Похоже, что проблема в файлах cookie от разработки с предыдущими версиями Laravel по тому же адресу.
Я думаю, что вы пропустили токен CSRF.
не забудьте использовать {!! csrf_field() !!}
В моем случае я получил то же сообщение об ошибке, а потом решил, что пропустил добавление csrf_token
{{ csrf_field() }}
Или без помощника формы, который будет,
<input type="hidden" name="_token" value="{{ csrf_token() }}">
Если это не сработает, тогда
Обновить кеш браузера и, надеюсь, это сработает, спасибо.
У меня была та же самая проблема, и это было, потому что я использовал virtualhost, и я настраивал ниже переменную mydomain.com. в файле config / session.php
'domain' => env('SESSION_DOMAIN', 'mydomain.com'),
Когда я изменил его на ноль, то он начал работать
'domain' => env('SESSION_DOMAIN', 'null'),
Я не знаю, в чем причина, но сейчас она работает нормально.
Добавить токен csrf
<input type="hidden" name="_token" value="{{ csrf_token() }}">
У меня была такая же проблема.
vagrant reload --provision
работал на меня
Убедитесь, что ваш User.php
Модель существует в папке приложения, и поля должны быть определены в этой модели.
<?php
namespace App;
use Illuminate\Notifications\Notifiable;
use Illuminate\Foundation\Auth\User as Authenticatable;
class User extends Authenticatable
{
use Notifiable;
/**
* The attributes that are mass assignable.
*
* @var array
*/
protected $fillable = [
'name', 'email', 'password',
];
/**
* The attributes that should be hidden for arrays.
*
* @var array
*/
protected $hidden = [
'password', 'remember_token',
];
}
Похоже, это настройки разрешений либо для хранилища, и / или для начальной загрузки / кэша.
Я использую сервер Cloudways. Я сбросил разрешения на моем сервере в настройках приложения, и теперь он работает. На моем локальном сервере разработки эквивалентно было установить chmod 777 в хранилище. Я использовал 755 ранее, и ошибка сохранилась.