Вы можете попытаться заставить PHP удалить все сеансы, выполнив
ini_set('session.gc_max_lifetime', 0);
ini_set('session.gc_probability', 1);
ini_set('session.gc_divisor', 1);
Это заставит PHP обрабатывать все сеансы как имеющие время жизни 0 секунд и 100% -ную вероятность очистки.
Недостатком является то, что любой неудачник, который запускает этот первый шаг, получит длинную паузу, пока PHP выполняет очистку, особенно если нужно пройти через много файлов сеанса.
Для одного конкретного пользователя выВам нужно добавить некоторый код в ваш обработчик сеанса:
if ($_SESSION['username'] == 'user to delete') {
session_destroy();
}
Сборщик мусора в PHP не контролируется, поэтому вы не можете задать ему такие параметры, как «удалить все сеансы, кроме пользователя X».Он строго просматривает метки времени последнего изменения / последнего доступа к файлам сеанса и сравнивает их с параметром max_lifetime.На самом деле он не обрабатывает данные сеанса.