码迷,mamicode.com
首页 > Web开发 > 详细

PHP + Memcache 实现Session共享

时间:2014-12-01 22:14:51      阅读:188      评论:0      收藏:0      [点我收藏+]

标签:des   blog   http   io   ar   sp   strong   文件   on   

一.安装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‘];
?>

 

PHP + Memcache 实现Session共享

标签:des   blog   http   io   ar   sp   strong   文件   on   

原文地址:http://www.cnblogs.com/fuland/p/4135998.html

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!