示例#1
0
 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;
 }