Laravel 5.5: Как сохранить Laravel сеанс пользователя после простоя системы - PullRequest
1 голос
/ 09 мая 2020

Моя система каждый раз после некоторого времени простоя возвращает приведенную ниже ошибку, когда я обновляю sh it.

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

Я изменил время жизни сеанса со 120 на 120000000000 в сеансе . php файл, как показано ниже, но кажется, что он не работает

<?php

return [
'driver' => env('SESSION_DRIVER', 'file'),
 'lifetime' => env('SESSION_LIFETIME', 120000000000),
 'expire_on_close' => false,

'encrypt' => false,
'files' => storage_path('framework/sessions'),
 'connection' => null,
'table' => 'sessions',
'store' => null,
'lottery' => [2, 100],
 'cookie' => env(
        'SESSION_COOKIE',
        str_slug(env('APP_NAME', 'laravel'), '_').'_session'
  ),

'path' => '/',
'domain' => env('SESSION_DOMAIN', null),
'secure' => env('SESSION_SECURE_COOKIE', false),
'http_only' => true,
'same_site' => null,

];

Как я могу разрешить это?

Ответы [ 2 ]

0 голосов
/ 09 мая 2020

Вы можете использовать laravel встроенные функции (Запомнить меня). Вы можете передать логическое значение в качестве второго аргумента метода попытки, который будет поддерживать аутентификацию пользователя, или вы можете вручную выйти из системы. Вы можете найти этот метод внутри LoginController, который будет в AuthenticatesUsers Trait. Также ваша таблица пользователей должна включать строку в столбец Remember_token, который будет использоваться для хранения токена «запомнить меня». В последних версиях laravel эти параметры включены по умолчанию.

if (Auth::attempt(['email' => $email, 'password' => $password], $remember)) {
   // The user is being remembered...
}

Альтернативой может быть установка SESSION_LIFETIME=120 в вашем файле .env. Я бы рекомендовал установить несколько лет, например, 68 лет, что равно 35791394 минутам. Так что установите его как SESSION_LIFETIME=35791394. После установки времени сеанса вам необходимо выполнить следующие команды.

  1. php artisan config: cache или php artisan config: clear
  2. php artisan cache: очистить
0 голосов
/ 09 мая 2020

Вы должны изменить значение в файле .env:

SESSION_LIFETIME = 525600

, которое находится в root проекта, потому что он принимает это значение по умолчанию значение, и после этого вы можете применить команды: php artisan config:clear и php artisan cache:clear, чтобы принять новые изменения.

...