public static function open($path, $name) { self::$lifetime = min(ini_get("session.gc_maxlifetime"), 2592000 - 1); //less then 30 days switch (SESSION_TYPE) { case 'file': case 'sql': self::$session_type = SESSION_TYPE; break; case 'memcache': if (MEMCACHE_SESSION_SERVER) { $srv = explode(':', MEMCACHE_SESSION_SERVER, 2); self::$memcached = new EpesiMemcache(); if (!self::$memcached->addServer($srv[0], isset($srv[1]) ? $srv[1] : 11211)) { trigger_error('Cannot connect to memcache server', E_USER_ERROR); } } if (self::$memcached) { self::$session_type = SESSION_TYPE; } else { self::$session_type = 'file'; } break; default: self::$session_type = 'file'; } if (self::$session_type == 'memcache') { self::$memcached_lock_time = ini_get("max_execution_time"); if (!self::$memcached_lock_time) { self::$memcached_lock_time = 60; } self::$memcached_lock_time += time(); } return true; }