Информация, которую вы ищете, находится в метаданных сеанса, но не раскрывается через API. Обработчик по умолчанию использует файлы - поэтому, если файл существует, то был сеанс. но вы не должны пытаться обойти обработчик для получения метаданных сеанса! Это было бы очень плохой идеей. На самом деле, звучит так, как будто вы пишете свой собственный обработчик сеанса , который также предоставляет метаданные.
Сессия истекла
Это очень сложное предложение: с обработчиком по умолчанию (оставляя в стороне проблему обхода обработчика для получения метаданных), нет истечения сеанса - есть только сборщик мусора данных сеанса, который не был затронут на некоторое время. В некоторых системах это выполняется пакетным процессом. На некоторых это случайное событие. Таким образом, по сути, и в этом контексте нет никакой разницы между просроченным сеансом и отсутствием сеанса с точки зрения сервера.
Вы можете сделать вывод из файлов cookie, если браузер считает, что он должен иметь сеанс:
session_start();
if ($_COOKIE(session_name() && !count($_SESSION)) {
print "session has expired";
exit;
} elsif (!$_COOKIE(session_name()) {
print "You need to login first";
exit;
} else {
print "welcome back....";
....
... но убедитесь, что вы добавили что-то в сеанс, когда пользователь входит в систему.