测试的前题:
在WEB负载均衡状态下,当用户在WEB1服务器登陆,下次在进行任意操作时,可能会在WEB2,WEB3...中进行请求的处理,因此,在非WEB1的服务器中是不会有SESSION的,到此,需要用到SESSION共享存储来解决该问题。
将session以memcache扩展库进行存储数据
<?php //首先用memcache的扩展session存储器进行设置 ini_set(‘session.save_handler‘, ‘memcache‘); //session的处理方式为:memcache ini_set(‘session.save_path‘, ‘tcp://127.0.0.1:11211‘);//session的保存位置为memcache服务器的地址+端口 session_start(); $_SESSION[‘address‘] = ‘shandong_printce‘;
2.测试存储的session是否存在,用于在不同的WEB服务器中检查用户是否登陆
<?php //在memcached中读取session的数据,是以session_id()作为key的 $session_id = session_id(); $memcache = new memcache; $memcache->connect(‘127.0.0.1‘,11211); //本地测试,这里需要填写 memcached的服务器所在ip与端口 if($memcache->get($session_id)){ echo ‘LOGIN, SUCCESS...‘; }
以上为个人测试并做记录,如有不正确的地方,欢迎广大朋友留言指正,相互学习。
原文地址:http://stoneryan.blog.51cto.com/4534150/1744769