Вы должны реализовать свой собственный обработчик сеанса (возможно, с использованием базы данных).Обработчик PHP по умолчанию не предоставляет никакого вида мониторинга / уведомлений о событиях, которые позволили бы вам обнаружить истекший сеанс / сборщик мусора.
Вы МОЖЕТ использовать внешний процесс для ручного прохождения сеансафайлы, но это довольно странно: сеанс может быть истек, и сборщик мусора PHP доберется до него раньше, чем ваш скрипт мониторинга.
Учитывая, что вы храните флаг «залогинен» в базе данных, cronРабота для проверки еще не вошедших в систему пользователей является самым простым способом, однако планирование работы может быть несколько уродливым.Если назначенное вами время в основном случайное, вам придется либо выполнять задание, выполняемое каждую минуту (кратчайший интервал, который поддерживает cron напрямую), либо планировать индивидуальное задание для каждого события.Для менее грубых точек планирования вы можете использовать синтаксис cron с символами подстановки / фиксированной точкой, например."* / 5,10,15, ... * * * *"