Как в php решить проблему времени жизни сессии

26.09.2022

Проблема: скрипт постоянно логофал (выкидывал из системы) пользователей.

Простой вариант, увеличить время жизни сессии:

 
  ini_set('session.gc_maxlifetime', 172800);
  ini_set('session.cookie_lifetime', 172800);

- не помог.

Решение: в коде скприпта добавил код для обновления токена в сессии.

 

isset($_REQUEST['session_refresh'])) {
    $_SESSION['token'] = $_REQUEST['session_refresh'];
    die();
}

А на страницах добавил JS, который периодически дергает этот метод:

 
function sessionRefresh () {
    fetch("login.php?session_refresh=<?=$_SESSION['token']?>");
}

setInterval(sessionRefresh, 50000);


Категории: PHP
Пометки: Решение проблемы с логофом
Яндекс.Метрика