PHP实现分布式memcache设置web集群session同步的方法


Posted in PHP onApril 10, 2018

本文实例讲述了PHP实现分布式memcache设置web集群session同步的方法。

php的session默认是文件存储:

session.save_handler = files
session.save_path = "/var/lib/php/session"

当做web集群,需要session同步时,将session存到分布式memcache来达到共享同步是个不错的办法

方法:

第1种:

vi /etc/php.ini
session.save_handler = memcache
session.save_path = "tcp://192.168.20.193:11211,tcp://192.168.20.194:11211"

第2种:

在php文件中使用ini_set函数进行配置,适合无法修改配置文件的虚拟主机

<?php
....
ini_set("session.save_handler", "memcache");
ini_set("session.save_path", "tcp://192.168.20.193:11211,tcp://192.168.20.194:11211");
....
?>

重启web服务器

service httpd restart

查看phpinfo

PHP实现分布式memcache设置web集群session同步的方法

测试

192.168.20.193中的login.php

<?php
session_start();
$_SESSION['login_time'] = time();
$_SESSION['username'] = 'test2';
$token=session_id();
echo $token;
//memache实现
$mem = new Memcache();
$mem->addServer('192.168.20.193',11211);
$mem->addServer('192.168.20.194',11211);
/*
//memached实现
$mem = new Memcached();
$servers = array(
 array('192.168.20.193', 11211, 33),
 array('192.168.20.194', 11211, 67)
);
$mem->addServers($servers);
*/
echo '<hr>';
print_r($mem->get($token));
?>
<div>
<a href="http://192.168.20.194/user.php?token=<?php echo $token;?>" rel="external nofollow" target="_balnk">跳转到194网站的个人中心</a>
</div>

192.168.20.194中的user.php

<?php
$mem = new Memcache();
$mem->addServer('192.168.20.193',11211);
$mem->addServer('192.168.20.194',11211);
$token=$_GET['token'];//获取传过来的token
print_r($mem->get($token));
?>
<div>
<a href="http://192.168.20.193/user.php?token=<?php echo $token;?>" rel="external nofollow" target="_balnk">返回193网站的个人中心</a>
</div>

希望本文所述对大家PHP程序设计有所帮助。

PHP 相关文章推荐
木翼下载系统中说明的PHP安全配置方法
Jun 16 PHP
phpadmin如何导入导出大数据文件及php.ini参数修改
Feb 18 PHP
php下载excel无法打开的解决方法
Dec 24 PHP
thinkphp实现图片上传功能分享
Mar 04 PHP
CI框架中libraries,helpers,hooks文件夹详细说明
Jun 10 PHP
解密ThinkPHP3.1.2版本之独立分组功能应用
Jun 19 PHP
php中http与https跨域共享session的解决方法
Dec 20 PHP
学习php设计模式 php实现建造者模式
Dec 07 PHP
分享PHP-pcntl 实现多进程代码
Sep 30 PHP
PHP获取指定日期是星期几的实现方法
Nov 30 PHP
[原创]php正则删除html代码中class样式属性的方法
May 24 PHP
Laravel框架文件上传功能实现方法示例
Apr 16 PHP
PHP实现Redis单据锁以及防止并发重复写入
Apr 10 #PHP
PHP使用zlib扩展实现GZIP压缩输出的方法详解
Apr 09 #PHP
基于CI(CodeIgniter)框架实现购物车功能的方法
Apr 09 #PHP
PHP缓存工具XCache安装与使用方法详解
Apr 09 #PHP
PHP+Session防止表单重复提交的解决方法
Apr 09 #PHP
PHP创建自己的Composer包方法
Apr 09 #PHP
Bootstrap+PHP实现多图上传功能实例详解
Apr 08 #PHP
You might like
php入门学习知识点七 PHP函数的基本应用
2011/07/14 PHP
深入解析phpCB批量转换的代码示例
2013/06/27 PHP
PHP中strtr字符串替换用法详解
2014/11/26 PHP
php可生成缩略图的文件上传类实例
2014/12/17 PHP
php的4种常见运行方式
2015/03/20 PHP
PHP中返回引用类型的方法
2015/04/03 PHP
PHP微信开发之文本自动回复
2016/06/23 PHP
json数据的列循环示例
2013/09/06 Javascript
zTree插件之单选下拉菜单实例代码
2013/11/07 Javascript
jQuery功能函数详解
2015/02/01 Javascript
使用AngularJS创建自定义的过滤器的方法
2015/06/18 Javascript
AngularJS中指令的四种基本形式实例分析
2016/11/22 Javascript
vue.js2.0点击获取自己的属性和jquery方法
2018/02/23 jQuery
vue实现文字横向无缝走马灯组件效果的实例代码
2019/04/09 Javascript
JavaScript回调函数callback用法解析
2020/01/14 Javascript
微信小程序中的上拉、下拉菜单功能
2020/03/13 Javascript
js实现带有动画的返回顶部
2020/08/09 Javascript
[00:57]林俊杰助阵DOTA2亚洲邀请赛
2015/01/28 DOTA
[02:57]DOTA2亚洲邀请赛 SECRET战队出场宣传片
2015/02/07 DOTA
Python极简代码实现杨辉三角示例代码
2016/11/15 Python
CentOS 7下Python 2.7升级至Python3.6.1的实战教程
2017/07/06 Python
Python编写登陆接口的方法
2017/07/10 Python
python集合常见运算案例解析
2019/10/17 Python
如何在python开发工具PyCharm中搭建QtPy环境(教程详解)
2020/02/04 Python
python通过文本在一个图中画多条线的实例
2020/02/21 Python
卡骆驰新加坡官网:Crocs新加坡
2018/06/12 全球购物
澳大利亚领先的武术用品和健身器材供应商:SMAI
2019/03/24 全球购物
2014年机关植树节活动方案
2014/02/27 职场文书
优秀的导游求职信范文
2014/04/06 职场文书
最美乡村医生事迹材料
2014/06/02 职场文书
教师政风行风评议心得体会
2014/10/21 职场文书
导游词300字
2015/02/13 职场文书
离婚案件答辩状
2015/05/22 职场文书
小学运动会通讯稿
2015/07/18 职场文书
uwsgi+nginx代理Django无法访问静态资源的解决
2021/05/10 Servers
Python中使用tkFileDialog实现文件选择、保存和路径选择
2022/05/20 Python