Ответ на дополнительный вопрос
Очистка файла сеанса контролируется следующими 3 настройками php.ini:
- session.gc_probability (значение по умолчанию 1)
- session.gc_divisor (значение по умолчанию 100)
- session.gc_maxlifetime (указывается возраст, после которого сеанс считается мусором)
Первые 2 параметра определяют вероятность запуска процесса сбора мусора при начале сеанса (до или в самом начале выполнения вашего скрипта, в зависимости от того, как вы его настроили)
В конфигурации по умолчанию вероятность того, что это произойдет, составляет 1%. Если это так, то файлы, которые старше maxlifetime, очищаются.
Что касается вашего первого вопроса - почему бы не написать собственный обработчик сеансов, который будет хранить сеансы в базе данных (если она у вас есть). Таким образом, вы можете видеть и контролировать сеансы прямо из базы данных. Удобно:)