Время ожидания сеанса Laravel осталось - PullRequest
0 голосов
/ 02 октября 2018

Существует множество ответов относительно определения, истекло ли время сеанса.Я НЕ спрашиваю об этом.

Я спрашиваю, как я могу точно сказать, сколько времени осталось до сеанса пользователя Laravel.

Предположим, я использую последнюю версиюLaravel.

Мне очень интересно узнать, что подсистема Laravel считает оставшимся временем до истечения времени ожидания собственного / встроенного сеанса.

Я категорически против использования собственного или создания собственного настраиваемого таймера любого типа.

Не то, чтобы это имело значение, но моя конфигурация настроек времени жизни сеанса (session.php) выглядит так (ниже).И мои настройки .ENV также SESSION_LIFETIME = 10.

 /*
    |--------------------------------------------------------------------------
    | Session Lifetime
    |--------------------------------------------------------------------------
    |
    | Here you may specify the number of minutes that you wish the session
    | to be allowed to remain idle before it expires. If you want them
    | to immediately expire on the browser closing, set that option.
    |
    */

    'lifetime' => env('SESSION_LIFETIME', 10),

1 Ответ

0 голосов
/ 02 октября 2018

Этот вопрос очень специфичен для используемого обработчика сеанса.Если вам нужно знать время, оставшееся до его истечения, вы должны рассчитать его вручную в зависимости от обработчика сеанса, например:

  1. Обработчик файлового сеанса: remaining time = last modified timestamp of file + session lifetime - current timestamp
  2. Обработчик сеансов cookie: remaining time = cookie expiry time - current time
  3. Обработчик сеанса базы данных: remaining time = last_activity column value in session table + session lifetime - current timestamp
  4. Обработчик сеанса кэша: remaining time = cache ttl

Драйверы сеанса используют различные реализации обработчика сеанса следующим образом:

  1. Драйвер cookie: обработчик сеанса cookie
  2. Драйвер файла: обработчик сеанса файла
  3. Драйвер базы данных: обработчик сеанса базы данных
  4. APC: обработчик сеанса кэша
  5. Memcached: обработчик сеанса кэша
  6. Redis: обработчик сеанса кэша
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...