* Portions created by the Initial Developer are Copyright (C) 2008-2024 * the Initial Developer. All Rights Reserved. * * Contributor(s): * Mark J Crane * Tim Fry */ /** * Description of session * * @author Tim Fry */ class session { /** * Removes old php session files. Called by the maintenance application. * @param settings $settings A settings object * @return void */ public static function filesystem_maintenance(settings $settings): void { $retention_days = $settings->get('session', 'filesystem_retention_days', ''); if (!empty($retention_days) && is_numeric($retention_days)) { //get the session location $session_location = ini_get('session.save_path'); //loop through all files and check the modified time $files = glob($session_location . '/sess_*'); foreach ($files as $file) { if (maintenance_service::days_since_modified($file) > $retention_days) { //remove old file if (unlink($file)) { maintenance_service::log_write(self::class, "Removed old session file $file that was older than $retention_days days"); } else { maintenance_service::log_write(self::class, "Unable to remove old session file $file", null, maintenance_service::LOG_ERROR); } } } } } }