Exemplo n.º 1
0
 /**
  * getConn 
  * 
  * @Access public
  * @Return void
  */
 private static function getConn()
 {
     global $memServers;
     if (empty($memServers)) {
         return FALSE;
     }
     if (!extension_loaded('memcache')) {
         MyException::Exception('请先安装PHP中Memcache模块');
     }
     if (empty(self::$m)) {
         $m = new Memcache();
         //系统默认对象
         foreach ($memServers as $key => $value) {
             $m->addServer($key, $value);
         }
         self::$m = $m;
     }
     if (empty(self::$prefix)) {
         self::$prefix = $_SERVER['SINASRV_MEMCACHED_KEY_PREFIX'] ? $_SERVER['SINASRV_MEMCACHED_KEY_PREFIX'] : 'Reluc-';
     }
     return self::$m;
 }
 /**
  * start 
  * 
  * @Param $MemcacheObject 
  * @Access public
  * @Return void
  */
 public static function start($MemcacheObject)
 {
     //将 session.save_handler 设置为 user(自定义),而不是默认的 files
     ini_set('session.save_handler', 'user');
     //不使用 GET/POST 变量方式,如果有需要请手动去掉注释
     //ini_set('session.use_trans_sid',    0);
     //设置垃圾回收最大生存时间,如果有需要请手动去掉注释
     //ini_set('session.gc_maxlifetime',  3600);
     //使用 COOKIE 保存 SESSION ID 的方式,如果有需要请手动去掉注释
     //ini_set('session.use_cookies',      1);
     //ini_set('session.cookie_path',      '/');
     //多主机共享保存 SESSION ID 的 COOKIE,如果有需要请手动去掉注释
     //ini_set('session.cookie_domain','.youDomain.com');
     if (!$MemcacheObject) {
         MyException::Exception('请确认Memcache开启');
     }
     self::$m = $MemcacheObject;
     self::$lifeTime = ini_get('session.gc_maxlifetime');
     self::$time = time();
     session_set_save_handler(array(__CLASS__, 'open'), array(__CLASS__, 'close'), array(__CLASS__, 'read'), array(__CLASS__, 'write'), array(__CLASS__, 'destroy'), array(__CLASS__, 'gc'));
     session_start();
     return TRUE;
 }