将ecshop中的session机制重写,从DB移植到Memcache中去,经过测试绝对可用!(最模板未测试)
代码如下:
if (!defined('IN_ECS'))
{
die('Hacking attempt');
}
/*------------------------------------------------------ */
//-- 该类用于将SESSION直接写入Memcache
/*------------------------------------------------------ */
class cls_session
{
var $db = NULL;
var $max_life_time = 1800; // SESSION 过期时间
var $session_name = '';
var $session_id = '';
var $session_expiry = '';
var $session_md5 = '';
var $session_cookie_path = '/';
var $session_cookie_domain = '';
var $session_cookie_secure = false;
var $_ip = '';
var $_time = 0;
function __construct(&$db, $session_table, $session_data_table, $session_name = 'ECS_ID', $session_id = '')
{
$m = new Memcache;
$m->addServer('127.0.0.1', 11211);
$this->cls_session($m, $session_name, $session_id);
}
function cls_session(&$db, $session_name = 'ECS_ID', $session_id = '')
{
$GLOBALS['_SESSION'] = array();
if (!empty($GLOBALS['cookie_path']))
{
$this->session_cookie_path = $GLOBALS['cookie_path'];
}
else
{
$this->session_cookie_p