на OnMODXInit
<?php
$max_time = (int) $modx->getOption("session_gc_maxlifetime");
$max_time = $max_time ? $max_time : 604800; //Неделя по - умолчанию
$table_name = $modx->getTableName('modSession');
$sql = "DELETE FROM $table_name WHERE access < (UNIX_TIMESTAMP() - $max_time);";
$modx->exec($sql);
А я прям чищу полностью чистым запросом в базу , пока проблем не было
https://bezumkin.ru/sections/tips_and_tricks/2422/
define('MODX_API_MODE', true); require_once('index.php'); //$truncate="TRUNCATE TABLE `modx_session`"; $truncate="DELETE FROM `modx_session`"; $modx->exec($truncate);
я пробовал TRUNCATE но не вышло :)
кстати по сути там уже есть метод который должен очищать табличку в системных называется session_gc_maxlifetime но походу он не работает без включения session.gc_probability = 1
о, прикольно, проверь
truncate table работает нормально.
Не у каждого хостера есть права на транкейт
Обсуждают сегодня