Есть нюанс, который мы обнаружили с тайм-аутом сеанса, хотя пользователь все еще активен в сеансе.Проблема связана с тем, чтобы никогда не изменять переменную сеанса.
ГХ очистит файлы данных сеанса на основе времени их последнего изменения.Таким образом, если вы никогда не изменяете сеанс, вы просто читаете из него, то GC в конечном итоге очистится.
Чтобы предотвратить это, вам нужно убедиться, что ваш сеанс изменен в течение времени удаления GC.Вы можете сделать это, как показано ниже.
<?php
if( !isset($_SESSION['last_access']) || (time() - $_SESSION['last_access']) > 60 )
$_SESSION['last_access'] = time();
?>
Это будет обновлять сеанс каждые 60 секунд, чтобы гарантировать изменение даты изменения.
Ссылка Сеанс PHP