本篇文章为大家展示了使用PHP怎么在负载均衡下中共用session,内容简明扼要并且容易理解,绝对能使你眼前一亮,通过这篇文章的详细介绍希望你能有所收获。
$_ENV=array( 'SYS'=>array( 'Memip'=>'127.0.0.1', //MEMCACHE的ip 'Mempt'=>11211, //MEMCACHE的port 'Memtim'=>10, //MEMCACHE的超時時間 ) ); //托管SESSION到MEMCACHE,如果开启失败,则说明MEMCACHE没有配置正确 final class S{ public static function open(){ //禁止session自动开启 session_write_close(); ini_set('session.auto_start',0); //使用五十分之一的概率启动gc清理会话 ini_set('session.gc_probability',1); ini_set('session.gc_divisor',50); ini_set('session.use_cookies',1); //session的寿命 //ini_set('session.gc_maxlifetime',$_ENV['SYS']['Memtim']); //ini_set('session.cookie_lifetime',$_ENV['SYS']['Memtim']); //ini_set('session.save_handler','files'); //ini_set('session.save_path',Run.'_tmp'); //ini_set('session.save_handler','memcache'); //ini_set('session.save_path','tcp://127.0.0.1:11211'); //$_ENV['S_tim'] = ini_get('session.gc_maxlifetime'); //建立memcache对象 $_ENV['S_mem']=new Memcache; $_ENV['S_mem']->connect($_ENV['SYS']['Memip'],$_ENV['SYS']['Mempt']) or die('Memcache連接失敗!'); return TRUE; } /** 读取 返回:读到的內容 /**/ public static function read($id){ return $_ENV['S_mem']->get('s_'.$id); } /** 写入 返回:bool /**/ public static function write($id,$data){ return $_ENV['S_mem']->set('s_'.$id,$data,MEMCACHE_COMPRESSED,$_ENV['SYS']['Memtim']); } /** 关闭 返回:bool /**/ public static function close(){ $_ENV['S_mem']->close(); unset($_ENV['S_mem'],$_ENV['SYS']['Memtim']); return TRUE; } /** 刪除 返回:bool /**/ public static function destroy($id){ return $_ENV['S_mem']->delete('s_'.$id); } /** 清理 返回:bool /**/ public static function gc(){ return TRUE; } } session_set_save_handler('S::open','S::close','S::read','S::write','S::destroy','S::gc'); $_ENV['sessionid']=(isset($_REQUEST['sessionid'])) ? trim($_REQUEST["sessionid"]) : session_id(); if($_ENV['sessionid']!=''){session_id($_ENV['sessionid']);} session_start();
上述内容就是使用PHP怎么在负载均衡下中共用session,你们学到知识或技能了吗?如果还想学到更多技能或者丰富自己的知识储备,欢迎关注亿速云行业资讯频道。
免责声明:本站发布的内容(图片、视频和文字)以原创、转载和分享为主,文章观点不代表本网站立场,如果涉及侵权请联系站长邮箱:is@yisu.com进行举报,并提供相关证据,一经查实,将立刻删除涉嫌侵权内容。