session.gc_maxlifetime
- это то, что определяет, когда данные сеансов помечаются для сбора мусора ( не обязательно, когда они удаляются ). Фактическое удаление этих данных зависит от ряда переменных. Наиболее заметно это session.gc_probability
и session.gc_divisor
. вероятность над делителем определяет вероятность того, что процесс инициализации сеанса вызовет сборщик мусора для очистки помеченного мусора. По умолчанию они равны 1
и 100
, соответственно ( означает, что есть вероятность 1%, что сборщик мусора очистит ).
Это механизм по умолчанию PHP для сборки мусора данных сеанса. Однако в некоторых системах (, особенно в Ubuntu ) сеанс по умолчанию G C заменен внешним механизмом очистки, который реализован в виде задания cron, которое регулярно выполняется для очистки файлов сеанса на основе вызовов stat и session.gc_maxlifetime
.
Вы склонны не замечать эти побочные эффекты на занятом сайте, так как количество вызовов session_start()
увеличивается, вероятность того, что устаревшие данные сеанса регулярно очищаются, увеличивается. Однако на сайте с низким трафиком c (а именно в среде разработки) эта вероятность значительно снижается настолько, что вы можете заметить, что устаревшие данные сеанса некоторое время остаются без движения. Как правило, это не то, чтобы беспокоиться. До тех пор, как вы удаляете сеанс сварить ie и регулярно используя session_destroy()
, когда потребность сессии будет удалена, это все спорно.