예제 #1
0
 /**
  * 初始化和开始SESSION
  * @param	Memcache	$memcache 	Memcache对象
  */
 public static function start(Memcache $memcache)
 {
     //将session.start_handler设置为true,而不是默认的file
     ini_set('session.save_handler', 'user');
     //不使用URL传递session_id()的方式
     //int_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', 'huphp.com');
     self::$handler = $memcache;
     self::$lifetime = ini_get('session.gc_maxlifetime');
     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;
 }
예제 #2
0
 /**
  * 初使化和开启session
  * @param	Memcache	$memcache	memcache对象
  */
 public static function start(Memcache $memcache)
 {
     //将 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','.lampbrother.net');
     self::$handler = $memcache;
     self::$lifetime = ini_get('session.gc_maxlifetime');
     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;
 }
예제 #3
0
파일: huphp.php 프로젝트: BigMaster/Huphp
        if (!$mem->mem_connect_error()) {
            Debug::addmsg('<font color="red">连接Memcache服务器失败,请检查!</font>');
        } else {
            define('USEMEM', true);
            //设置Memcahce开启的常量
            Debug::addmsg('<font color="green">启用Memcache服务器</font>');
        }
    } else {
        Debug::addmsg('<font color="red">PHP没有安装Memcache扩展模块,请先安装!</font>');
    }
} else {
    Debug::addmsg('<font color="red">没有使用Memcache缓存服务器!</font>(为了程序的速度,建议使用Memcache缓存服务器)');
}
//如过开启了Memcache,则将Session信息保存在Memcache缓存服务器中
if (defined('USEMEM')) {
    MemSession::start($mem->getMem());
    Debug::addmsg('<font color="green">开启了Session(使用Memcache缓存会话信息)</font>');
} else {
    session_start();
    Debug::addmsg('<font color="green">开启了Session</font><font color="red">(但没有使用Memcache缓存Session信息,建议开启Memcache后将自动启动)</font>');
}
Debug::addmsg('会话ID:' . session_id());
Structure::create();
//初始化,部署项目的目录结构
Prourl::parseUrl();
//解析处理URL
//模板文件中所有要的路径,html\css\javascript\image\link等中用到的路径,从WEB服务器的文档根开始
$spath = rtrim(substr(dirname(str_replace('\\', '/', dirname(__FILE__))), strlen(rtrim($_SERVER['DOCUMENT_ROOT'], '/\\'))), '/\\');
$GLOBALS['root'] = $spath . '/';
//WEB服务器到项目的根
$GLOBALS['public'] = $GLOBALS['root'] . 'public/';