@H_502_1@1、直接修改PHP.ini配置文件 @H_502_1@
代码如下:
502_1@session.save_handler = memcache //设置session的储存方式为memcache @H_502_1@memcache.hash_strategy = "consistent"//设置memcache的hash算法 @H_502_1@session.save_path = "tcp://127.0.0.100:11211" //设置session储存的位置,多台memcache用逗号隔开,例如:tcp://127.0.0.1:11211,tcp://127.0.0.1:12000 @H_502_1@
@H_502_1@2、利用目录下的 .htaccess 文件配置 @H_502_1@ 代码如下:
502_1@PHP_value session.save_handler "memcache" @H_502_1@PHP_value session.save_path "tcp://127.0.0.1:11211" @H_502_1@
@H_502_1@说明:这个只是针对Apache的,目前使用Nginx的比较多,也不推荐此方式。 3、在项目的PHP文件中修改配置 @H_502_1@ 代码如下:
502_1@ini_set("session.save_path","tcp://127.0.0.100:11211");
4、测试例子 @H_502_1@ 代码如下:
502_1@//测试session读取是否正常 @H_502_1@session_start(); @H_502_1@$_SESSION['username'] = "jb51.cc"; @H_502_1@echo session_id(); //从Memcache中读取session @H_502_1@$m = new Memcache(); @H_502_1@$m->connect('localhost',11211); @H_502_1@//或者这样 @H_502_1@//$mem->addServer("127.0.0.1",11211) or die ("Can't add Memcache server 127.0.0.1:12000"); //根据session_id获取数据 //本机 @H_502_1@//$session = $m->get(session_id()); //session_id:d527b6f983bd5e941f9fff318a31206b //另一台服务器,已知session id @H_502_1@$session = $m->get("d527b6f983bd5e941f9fff318a31206b"); echo $session."
"; //会得到这样的数据:username|s:16:"pandao";,解析一下就可以得到相应的值了 @H_502_1@echo session_id()."
"; @H_502_1@exit;
上面只是一些简单的说明,其实说点题外话,一般来说,做分布式,那肯定是有服务器权限的,所以推荐第一种。 原文链接:https://www.f2er.com/php/24855.html"; //会得到这样的数据:username|s:16:"pandao";,解析一下就可以得到相应的值了 @H_502_1@echo session_id()."
"; @H_502_1@exit;