memcached结合php以及memcache共享session
//安装php的memcache扩展 一、使用php自带的pecl安装程序
[root@localhost src]# /usr/local/php/bin/pecl install memcache
...
...
...
Build process completed successfully
Installing '/usr/local/php/lib/php/extensions/no-debug-non-zts-20090626/memcache.so'
install ok: channel://pecl.php.net/memcache-2.2.7
configuration option "php_ini" is not set to php.ini location
You should add "extension=memcache.so" to php.ini [root@localhost src]# cp /usr/local/php/lib/php/extensions/no-debug-non-zts-/memcache.so /usr/local/php/ext
[root@localhost src]# vim /usr/local/php/etc/php.ini
...
...
;extension_dir = "./"
/*改为extension_dir = "/usr/local/php/lib/php/extensions/no-debug-non-zts-20090626/"*/
//再添加一行
extension = "memcache.so“ //检验,查看是否有memcache
[root@localhost src]# /usr/local/php/bin/php -m //检测php是否连接memcache,下载一个已经写好的脚本
[root@localhost src]# curl www.apelearn.com/study_v2/.memcache.txt >.php >/dev/null //执行
[root@localhost src]# /usr/local/php/bin/php .php
//执行成功-- 只有当在php.ini中定义了memcache模块才可以执行此脚本
Get key1 value: This is first value<br>Get key1 value: This is replace value<br>Get key2 value: Array
(
[] => aaa
[] => bbb
[] => ccc
[] => ddd
)
<br>Get key1 value: <br>Get key2 value: <br>
二、通过安装包进行安装 //先安装php的memcache扩展 [root@ff ~]# cd /usr/local/src
[root@ff src]# wget http://lishiming.net/data/attachment/forum/memcache-2.2.3.tgz
[root@ff ~]# tar zxvf memcache-2.2..tgz
[root@ff ~]# cd memcache-2.2.
[root@ff memcache-2.2.]# /usr/local/php/bin/phpize
Configuring for:
PHP Api Version:
Zend Module Api No:
Zend Extension Api No:
[root@ff memcache-2.2.]# ./configure --with-php-config=/usr/local/php/bin/php-config
[root@ff memcache-2.2.]# make
[root@ff memcache-2.2.]# make install //此时安装完出现的路径需要记录
Installing shared extensions: /usr/local/php/lib/php/extensions/no-debug-non-zts-/ [root@ff memcache-2.2.]# vim /usr/local/php/etc/php.ini
//change --> extension_dir = "./" to -->
extension_dir = "/usr/local/php/lib/php/extensions/no-debug-non-zts-20131226/"
//add
extension = "memcache.so" //php连接memcached检验
[root@ff memcache-2.2.]# /usr/local/php/bin/php -m|grep memcache
memcache //下载测试php脚本
[root@ff memcache-2.2.]# curl www.apelearn.com/study_v2/.memcache.txt > .php >/dev/null
[root@ff memcache-2.2.]# /usr/local/php/bin/php .php //运行
//成功
Get key1 value: This is first value<br>Get key1 value: This is replace value<br>Get key2 value: Array
(
[] => aaa
[] => bbb
[] => ccc
[] => ddd
)
<br>Get key1 value: <br>Get key2 value: <br>[root@ff memcache-2.2.]#
安装会出现的错误!!!
. /usr/local/php/bin/phpize 运行不成功。找不到phpize
-->
phpize是属于php-devel的内容,因此在centos中只要运行如下命令:
yum install php-devel 然后就会安装上phpize了。 运行phpize是为了生成./configure文件 . ./configure \ 会出现 :checking for libevent directory... configure: error: libevent is required. You can get it from http://www.monkey.org/~provos/libevent/
If it's already installed, specify its path using --with-libevent=/dir/
--> yum install -y libevent-devel
//memcached实现session共享 一、不管在哪种架构中,都能实现的
[root@localhost ~]# vim /usr/local/php/etc/php.ini
//添加
session.save_handler = "memcache"
session.save_path = "tcp://127.0.0.1:11211"
//如果memcached服务为远程机器,则可将ip改为远程机器的ip //测试
[root@localhost src]# wget http://study.lishiming.net/.mem_se.txt
[root@localhost src]# mv .mem_se.txt /usr/local/apache2/htdocs/session.php //因为我们要用curl或浏览器访问此脚本,所以要保证其可以被打开
[root@localhost src]# curl localhost/session.php
//查看是否有显示内容,如果没有,查看已经配置好的网站文件test.conf
1471872176<br><br>1471872176<br><br>3crb4tjhhuqd1o4ao7n73putq6
[root@ff memcache-2.2.3]# telnet 127.0.0.1 11211
Trying 127.0.0.1...
Connected to 127.0.0.1.
Escape character is '^]'.
get 3crb4tjhhuqd1o4ao7n73putq6 //<br>后的那一串字符
VALUE 3crb4tjhhuqd1o4ao7n73putq6 0 37
TEST|i:1471872176;TEST3|i:1471872176; //i后的是第一个<br>前的值
quit //结束
Connection closed by foreign host. //每一次刷新都会得到一个新的字符串
[root@ff extra]# curl -x127.0.0.1:80 localhost/session.php
1471872300<br><br>1471872300<br><br>hejae0ksknfrunr8fc25mkqu50
[root@ff extra]# curl -x127.0.0.1:80 localhost/session.php
1471872304<br><br>1471872304<br><br>3oiopcitd291j9ogv5is6o0ik0
[root@ff extra]#
//--!!如果添加到php.ini不成功,可以添加到apache或nginx对应的php-fpm的配置文件中,见下方配置 //在httpd.conf或者test.conf对应的虚拟主机中的配置语句{LAMP结构}
php_value session.save_handler "memcache"
php_value session.save_path "tcp://127.0.0.1:11211" //在php-fpm.conf中的pool中添加 {LNMP结构}
php_value[session.save_handler] = memcache
php_value[session.save_path] = "tcp://127.0.0.1:11211
memcached结合php以及memcache共享session的更多相关文章
- tomcat session Memcache 共享
背景 这次做的这个项目并发还真是挺高,单表一天产生百万条记录不在话下.结果导致运行过程中经常丢失数据,卡.慢等.开来终于要搞一次负载均衡了,之前实验学习了不少,但是没有在项目中实际用过,因为并发量不大 ...
- 服务器安装Apache+Tomcat+Memcached共享Session的构架设计
网站集群部署解决计划 一. 计划目标 实现互动留言系统.后台发布系统的高可用性,有效解决高并发量对单台应用服务器的打击,确保应用服务器单点故障不影响系统正常运行. 二. 部署架 ...
- 【转】centos安装memcached+php多服务器共享+session多机共享问题
参考博文: centos安装memcached 源码安装 Yum安装Memcache Memcached内存分配优化及使用问题 <转>php+memcached 实现session共享 P ...
- Nginx+Tomcat+Memcache 实现session共享
Nginx + Tomcat + Memcache 实现session共享 1. Nginx 部署 1.上传源码包到服务器,解压安装 下载地址:http://nginx.org/en/download ...
- 采用EaglePHP框架解决分布式集群服务器利用MEMCACHE方式共享SESSION数据的问题
一.问题起源 稍大一些的网站,通常都会有好几个服务器,每个服务器运行着不同功能的模块,使用不同的二级域名,而一个整体性强的网 站,用户系统是统一的,即一套用户名.密码在整个网站的各个模块中都是可以登录 ...
- java项目使用memcache实现session共享+session基础
本文章主要目的是配置session共享,为了巩固基础,捎带介绍了一些基础知识(网上搜索后觉得最全面的特引过来,节省时间),基础扎实的可以自动忽略. 基础篇: 1.了解java web中的session ...
- Nginx+Tomcat+Memcached 实现集群部署时Session共享
Nginx+Tomcat+Memcached 实现集群部署时Session共享 一.简介 我们系统经常要保存用户登录信息,有Cookie和Session机制,Cookie客户端保存用户信息,Sessi ...
- 多域名THINKPHP利用MEMCACHE方式共享SESSION数据(转)
一.问题起源 稍大一些的网站,通常都会有好几个服务器,每个服务器运行着不同功能的模块,使用不同的二级域名,而一个整体性强的网站,用户系统是统一的,即一套用户名.密码在整个网站的各个模块中都是可以登录使 ...
- 基于php使用memcache存储session的详解(转)
web服务器的php session都给memcached ,这样你不管分发器把 ip连接分给哪个web服务器都不会有问题了,配置方法很简单,就在php的配置文件内增加一条语句就可以了,不过前提你需要 ...
随机推荐
- [洛谷P5057][CQOI2006]简单题
题目大意:有一个长度为$n$的$01$串,两个操作: $1\;l\;r:$把区间$[l,r]$翻转($0->1,1->0$) $2\;p:$求第$p$位是什么 题解:维护前缀异或和,树状数 ...
- [洛谷P1552][APIO2012]派遣
题目大意:有一棵$n$个点的树,和一个费用$m$,每个点有一个费用和价值,请选一个点,再从它的子树中选取若干个点,使得那个点的价值乘上选的点的个数最大,要求选的点费用总和小于等于$m$ 题解:树形$d ...
- 弱校的ACM奋斗史
这是一篇老文章,不过由于无法找到最初的发文地址,这里就不能粘贴原文网址了.本站转载此文与ACMer们共勉.感谢acmerfight供稿. 题解:还记得2年前的一个晚上,我和一个女孩一起写完了这篇文章. ...
- bzoj4552: [Tjoi2016&Heoi2016]排序(二分+线段树)
又是久违的1A哇... 好喵喵的题!二分a[p],把大于mid的数改为1,小于等于mid的数改为0,变成01串后就可以用线段树进行那一连串排序了,排序后如果p的位置上的数为0,说明答案比mid小,如果 ...
- 【DP】【Uva437】UVA437 The Tower of Babylon
传送门 Description Input Output Sample Input Sample Output Case : maximum height = Case : maximum heigh ...
- oracle数据库解锁
当我们修改数据库时用for update 或者使用rowId修改后,对表进行了锁定,由于某种原因没有对他进行关闭,我们需要关闭 select b.username,b.sid,b.serial#,lo ...
- 破解wingide编辑器
先到官网下载最新版的wingide(我下载的是5.1.11-1),然后安装,打开,出现下面的界面时选第三个,然后输入“ENX27-HWM6G-XYVFA-165PG”,如下图所示: 接下来你软件会给你 ...
- 修改tomcat编码格式 & tomcat发布WEB项目供外网访问
1.修改tomcat默认编码格式: 修改tomcat下的conf/server.xml文件,找到如下代码: <Connector port="8080" prot ...
- ios开关按钮
.al-toggle-button{ appearance: none; -webkit-appearance: none; position: relative; width: 52px; heig ...
- ZooKeeper动态配置(十四)
概述 在3.5.0发行之前,ZK的全体成员和所有其它的配置参数是静态加载的在启动的时候并且在运行的时候不可变.操作员诉诸于"滚动重启" - 一个手动密集和改变配置文件容易出错的方法 ...