Очистить существующие не проблема за пару дней, командой
find /path/to/sessions -exec rm -rf {} \;А некоторые умельцы даже как-то делают это мгновенно при помощи WinSCP. Но как избежать ситуации в будущем?
Нужно сделать две вещи: настроить сборку мусора (garbage collection) и смонтировать эту директорию в память. Первое очевидно для чего, а второе для быстрой обработки stat сессии и для моментального решения вопроса в случае сбоя. Stat сессии нужен для GC потому, что PHP самостоятельно выискивает среди сессий те, что живут более заданного времени и удаляет из них выборочные.
Итак настраиваем php.ini:
session.gc_probability = 1 session.gc_divisor = 100 session.gc_maxlifetime = 3600
А также не забываем откорректировать путь к сессиям в /etc/cron.d/php5.
А когда все сессии удалены, то можно смонтировать директорию в память и тогда серверу будет значительно легче как делать stat, так и удалять:
mount -t tmpfs /dev/shm /path/to/sessions
А если что-то переполнилось, то удаляются сессии мнгоновенно:
mount -o remount /path/to/sessionsТаким образом, сессии просто испаряются в памяти.
Комментариев нет:
Отправить комментарий