/** * 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; }