Как поменять папку сессий для garbage collector?
С помощью ini_set('session.save_path', $_SERVER['DOCUMENT_ROOT'].'/log/session'); была изменена папка сохранения сессий, от чего(могу ошибаться) garbage collector не очищает папку с сессиями(так как не указана новая папка).
Вопрос: как указать для него эту папку с сессиями? Есть ли возможность сделать это не задействуя php.ini?
Ответы (1 шт):
Папку вы уже указали. Есть еще другие переменные. Возможно, чтобы была очистка надо их выставить. Также через php_ini
session.gc_probability int session.gc_probability в сочетании с session.gc_divisor определяет вероятность запуска функции сборщика мусора (gc, garbage collection). По умолчанию равен 1. Смотрите подробнее в session.gc_divisor. session.gc_divisor int session.gc_divisor в сочетании с session.gc_probability определяет вероятность запуска функции сборщика мусора (gc, garbage collection) при каждой инициализации сессии. Вероятность рассчитывается как gc_probability/gc_divisor, то есть 1/100 означает, что функция gc запускается в одном случае из ста, или 1% при каждом запросе. session.gc_divisor по умолчанию имеет значение 100. session.gc_maxlifetime int session.gc_maxlifetime задаёт отсрочку времени в секундах, после которой данные будут рассматриваться как "мусор" и потенциально будут удалены. Сбор мусора может произойти в течение старта сессии (в зависимости от значений session.gc_probability и session.gc_divisor).
https://www.php.net/manual/ru/session.configuration.php
Можете сами простенький скрипт удаления файлов написать.