多台服务器时session不能共享,可以将session内容存在memcache里。查了一下资料,说memcache的新版本可以简单的配置一下php.ini,就可以直接达到目的了。
我在memcache-2.2.1版本下测试通过。
//或者也可以直接在php应用里写: ini_set("session.save_handler", "memcache"); ini_set("session.save_path", "tcp://127.0.0.1:11211");
使用多个 memcached server 时用逗号”,”隔开,并且和 Memcache::addServer() 文档中说明的一样,可以带额外的参数”persistent”、”weight”、”timeout”、”retry_interval” 等等,类似这样的:
"tcp://host1:port1?persistent=1&weight=2,tcp://host2:port2" 。
这样修改后,能按正常一样的使用session。
直接改php.ini更好。
//修改php.ini session.save_handler = memcache session.save_path = "tcp://127.0.0.1:11211"
如果没有安装memcache PECL 扩展,可以用这个类。 http://imysql.cn/?q=node/215
我在本地测试通过了。
到顶部