Centos 编译安装php的memcached扩展

一 下载需要的源码包

所有安装包均选用最新的。 
下载libevent2.0.22

下载地址:http://libevent.org/ 

下载memcached1.4.24

下载地址:http://memcached.org/ 

下载php扩展memcached

下载地址:http://pecl.php.net/package/memcached

二 安装详细步骤

首先将以上三个软件包下载到/tmp目录下 
1. 安装libevent

cd /tmp  #首先进入到该下载包的目录
tar zxvf libevent-2.0.22-stable.tar.gz #解压包
cd libevent-2.0.22-stable #进入到解压的目录
./configure --prefix=/usr/local #编译前配置,生成Makefile文件,路径可自行更改
make; make install #编译+安装

测试是否安装成功 : ls -al /usr/local/lib |grep libevent

 

2. 安装memcached

cd /tmp  #首先进入到该下载包的目录
tar zxvf memcached-1.4.24.tar.gz #解压包
cd memcached-1.4.24 #进入到解压的目录
./configure –with-libevent=/usr/local #编译前配置,生成Makefile文件,路径必须与libevent中一致
make; make install #编译+安装

测试是否安装成功 : ls -al /usr/local/bin/memcached

通过以上操作,就完成了memcached服务器的安装。特别的简单吧!现在就来搞一搞memcache的php扩展安装吧 
3. 安装扩展

cd /tmp  #首先进入到该下载包的目录
tar zxvf memcache-3.0.8.tgz #解压包
cd memcache-3.0.8 #进入到解压的目录
/opt/lampp/bin/phpize #动态为php添加扩展。phpize路径可能不一致,请根据自己的实际情况
./configure –enable-memcache –with-php-config=/opt/lampp/bin/php-config –with-zlib-dir #php-config请根据自己环境情况填写
make; make install #编译+安装

 

三 配置php.ini文件

首先通过phpinfo函数,找到php.ini的路径,我的是:/opt/lampp/etc/php.ini 
在其中添加如下内容:

  1. 修改extension_dir路径: 
    extension_dir = “/opt/lampp/lib/php/extensions/no-debug-non-zts-20121212/”
  2. extension=memcache.so 
    [Memcache] 
    memcache.allow_failover = 1 
    memcache.max_failover_attempts=20 
    memcache.chunk_size =8192 
    然后重新启动apache,再次通过phpinfo查看一下情况。如果有如下内容,表示配置成功: 

四 配置memcached服务器

  1. 启动memcached服务器 
    memcached -d -m 10 -u root -l 127.0.0.1 -p 11211 -c 256 -P /tmp/memcached.pid

参数说明: 
-d选项是启动一个守护进程, 
-m是分配给Memcache使用的内存数量,单位是MB,我这里是10MB, 
-u是运行Memcache的用户,我这里是root, 
-l是监听的服务器IP地址,如果有多个地址的话,我这里指定了服务器的IP地址127.0.0.1, 
-p是设置Memcache监听的端口,我这里设置了11211,最好是1024以上的端口, 
-c选项是最大运行的并发连接数,默认是1024,我这里设置了256,按照你服务器的负载量来设定, 
-P是设置保存Memcache的pid文件,我这里是保存在 /tmp/memcached.pid 
2. 结束memcached进行 
kill cat /tmp/memcached.pid 
3. 检查memcached是否已经启动  netstat -ant 

 

五 测试php的memcache扩展

<?php
    $mem = new Memcache;
    $mem->connect("192.168.12.201", 13001);
    $mem->set('key','This is a test!', 0, 60);
    $val = $mem->get('key');
    echo $val;
?>

写在后面:大家有兴趣可以将session改为使用memcache来保存。php自身使用文件的方式,不太好,动不动文件大小总和就上G了。 

 

转载于:https://my.oschina.net/lxphemy/blog/919238

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值