static function gc($maxlifetime) { self::logdeb("garbage collection (maxlifetime = {$maxlifetime})"); $epoch = common_sql_date(time() - $maxlifetime); $ids = array(); $session = new Session(); $session->whereAdd('modified < "' . $epoch . '"'); $session->selectAdd(); $session->selectAdd('id'); $session->find(); while ($session->fetch()) { $ids[] = $session->id; } $session->free(); self::logdeb("Found " . count($ids) . " ids to delete."); foreach ($ids as $id) { self::logdeb("Destroying session '{$id}'."); self::destroy($id); } }
static function gc($maxlifetime) { self::logdeb("garbage collection (maxlifetime = {$maxlifetime})"); $epoch = common_sql_date(time() - $maxlifetime); $ids = array(); $session = new Session(); $session->whereAdd('modified < "' . $epoch . '"'); $session->selectAdd(); $session->selectAdd('id'); $limit = common_config('sessions', 'gc_limit'); if ($limit > 0) { // On large sites, too many sessions to expire // at once will just result in failure. $session->limit($limit); } $session->find(); while ($session->fetch()) { $ids[] = $session->id; } $session->free(); self::logdeb("Found " . count($ids) . " ids to delete."); foreach ($ids as $id) { self::logdeb("Destroying session '{$id}'."); self::destroy($id); } }