b_user_session как почистить
![b_user_session как почистить](/upload/iblock/322/yqi2v6a59zkf7f0s2awgq62bjlhqum4g/b-user-session-kak-pochistit-d.jpg)
При включении хранения сессий в БД, таблица быстро разрастается, если механизм очистки отключен в настройках php.
Есть возможность вручную почистить таблицу. Например с помощью метода:
\Bitrix\Main\Session\Handlers\Table\UserSessionTable::deleteOlderThan(86400);
Выполнив данный код, удалятся все сессии старше суток. Если сессий насохранялось очень много, то код будет выполняться долго.
![Результат выполнения команды](/upload/iblock/d6e/183mhehq5ci3cswwzfy18nm5bcm9ky2b/blog.jpg)
Имеет смысл сделать бекап БД и почистить таблицу выполнив sql запрос.
Если у вас таблица постоянно растет и не очищается самостоятельно, проверьте настройки php, должно быть примерно так:
session.gc_probability = 1 session.gc_divisor = 1000 // шанс запуска сборщика "мусора", расчитывается как gc_probability/gc_divisor (1/1000 = 0.1%) session.gc_maxlifetime = 1440 // время жизни (24 минуты), после, сессия считается "мусором"
Есть вопросы или нашли ошибку? Напишите комментарий (можно без регистрации), отвечать стараюсь быстро.