Как автоматически обновить время ожидания сеанса

1

Я пытаюсь обновить страницу автоматически при отключении сеанса. Я смотрю другое сообщение, но я думаю, что мы не такая же проблема.

У меня есть код сеанса:

$inactive = 10;
if( !isset($_SESSION['timeout']) )
$_SESSION['timeout'] = time() + $inactive; 

$session_life = time() - $_SESSION['timeout'];

if($session_life > $inactive)
{  session_destroy(); header("Location: http://localhost/fmsgroup/fmsystempanamed/logout/endsession.php");     }

$_SESSION['timeout']=time();

что я добавлю, чтобы при обновлении он переходил в заголовок.

  • 0
    что вы подразумеваете под what will I add so that when it refresh it will go to the header.
  • 0
    Что такое $inactive ? Это в секундах или минутах?
Показать ещё 8 комментариев
Теги:

1 ответ

0

Это зависит от вашей реализации сеанса.

  1. файл на основе

Не существует критерия истечения срока действия или обратного вызова, поэтому вы можете использовать только опрос ajax, который в вашем случае сервер перенаправит страницу

  1. Redis на основе

redis 2. 8+ имеет уведомления о ключах, поэтому, если вы смотрите свою базу данных сеанса, вы можете получить уведомление о завершении сеанса.

НО, это было бы дорогостоящим решением. Поскольку у вас есть блокировка PHP-процесса, чтобы ждать события, НЕ РЕКОМЕНДУЕТСЯ.

Или может быть другое:

Установите session.gc_maxlifetime равным session.cookie_lifetime, поэтому, когда срок действия сеанса истекает, cookie должен истекать одновременно, поэтому js не будет опроса с сервера, вместо этого он может периодически проверять локальный файл cookie.

  • 0
    Сэр может разместить некоторый пример кода так же, как и в моем коде ... когда истечет время сеанса .. он автоматически обновится ... потому что ... когда сеанс закончился .. страница не была перезагружена ..

Ещё вопросы

Сообщество Overcoder
Наверх
Меню