一.安装Memcache和PHP扩展
Windows下的Memcache安装:
1. 下载memcache的windows稳定版,解压放某个盘下面,比如在c:\memcached
2. 在终端(也即cmd命令界面)下输入 ‘c:\memcached\memcached.exe -d install’ 安装
3. 再输入: ‘c:\memcached\memcached.exe -d start’ 启动。NOTE: 以后memcached将作为windows的一个服务每次开机时自动启动。这样服务器端已经安装完毕了。
4.下载php_memcache.dll,请自己查找对应的php版本的文件
5. 在C:\winnt\php.ini 加入一行 ‘extension=php_memcache.dll’
6.重新启动Apache,然后查看一下phpinfo,如果有memcache,那么就说明安装成功!
二.连接Memchache
1. 终端:telnet 127.0.0.1 11211
2. PHP:
; session.save_handler=files
session.save_handler=memcache
; session.save_path=”E:\xampp\tmp”
session.save_path=”tcp://127.0.0.1:11211″
相关的连接:
http://php.net/manual/zh/book.memcached.php
http://www.jb51.net/article/22065.htm
三.测试代码
<?php session_start();
if (!isset($_SESSION[‘session_time’])) {
$_SESSION[‘session_time’] = time();
}
echo “session_time:”.$_SESSION[‘session_time’].”<br />”;
echo “now_time:”.time().”<br />”;
echo “session_id:”.session_id().”<br />”;
?>
保存上面代码(注意替换域名和IP),分别放在两台服务器的web目录下,打开两个浏览器标签,先后访问两个地址,如果两个页面输出的session_time后的时间戳和session_id是一样的话就说明已经OK了。
需要注意的是,需要cookie保存session_id,有两种方法:
1.利用COOKIE存放session_id();
域名一文件php代码:
<?php session_start(); setcookie("session_id",session_id(),time()+3600*24*365*10,"/",".session.com"); $_SESSION['user_name'] = '梁山良民'; echo $_SESSION['user_name']; ?>
域名二文件php代码:
<?php session_destroy(); session_id($_COOKIE['session_id']); session_start(); echo $_SESSION['user_name']; ?>
2.利用php.ini 的session.cookie_domain 备注:这里是用php代码实现不需要修改php.ini的配置文件;如果有需要你可以在php.ini里面修改配置文件(该情况下就不需要改段代码:ini_set(“session.cookie_domain”,’session.com’);) 域名一文件php代码:
<?php ini_set("session.cookie_domain",'session.com');//注:该参数必须在sesson_start()之上,否则将不会生效 session_start(); $_SESSION['user_name'] = '梁山良民'; echo $_SESSION['user_name']; ?>
域名二文件php代码:
<?php ini_set("session.cookie_domain",'session.com'); session_start(); echo $_SESSION['user_name']; ?>