diff --git a/include/class.ostsession.php b/include/class.ostsession.php index 4c34fda98553e28907cab45577e0189179780a26..94df679d2792046fda2b7373e598851f147a501b 100644 --- a/include/class.ostsession.php +++ b/include/class.ostsession.php @@ -22,9 +22,7 @@ class osTicketSession { var $id = ''; function osTicketSession($ttl=0){ - $this->ttl =$ttl?$ttl:get_cfg_var('session.gc_maxlifetime'); - if(!$this->ttl) - $this->ttl=SESSION_TTL; + $this->ttl = $ttl ?: ini_get('session.gc_maxlifetime') ?: SESSION_TTL; // Set osTicket specific session name. session_name('OSTSESSID'); @@ -32,6 +30,9 @@ class osTicketSession { // Forced cleanup on shutdown register_shutdown_function('session_write_close'); + // Set session cleanup time to match TTL + ini_set('session.gc_maxlifetime', $ttl); + if (OsticketConfig::getDBVersion()) return session_start(); @@ -45,7 +46,7 @@ class osTicketSession { // Remote port specification, as it will make an invalid domain list($domain) = explode(':', $_SERVER['HTTP_HOST']); - session_set_cookie_params(86400, ROOT_PATH, $domain, + session_set_cookie_params($ttl, ROOT_PATH, $domain, osTicket::is_https()); //Set handlers.