(转发)centos,redhat 系统为php安装memcached扩展

转自:http://www.itnose.net/detail/6111623.html

1. 通过yum安装
yum -y install memcached
#安装完成后执行:
memcached -h
#出现memcached帮助信息说明安装成功

2. 加入启动服务
chkconfig --level 2345 memcached on

3. 配置Memcached
vim /etc/sysconfig/memcached
#文件中内容如下,按需要修改:
PORT="11211" #端口
USER="root" #用户名
MAXCONN="1024" #最大连接数
CACHESIZE="64" #内存大小
OPTIONS="" #附加参数

4. 安装libmemached
wget https://launchpad.net/libmemcached/1.0/1.0.16/+download/libmemcached-1.0.16.tar.gz
tar -zxvf libmemcached-1.0.16.tar.gz
cd libmemcached-1.0.16
./configure -prefix=/usr/local/libmemcached -with-memcached
make && make install

报错:g++: command not found的解决
yum -y install gcc+ gcc-c++
make clean后,重新执行:make && make install

5. 安装php-devel
yum install php-devel

6. 安装PHP Memcached扩展
wget http://pecl.php.net/get/memcached-2.1.0.tgz
tar -zxvf memcached-2.1.0.tgz
cd memcached-2.1.0
/usr/local/php/bin/phpize
./configure -enable-memcached -with-php-config=/usr/local/php/bin/php-config -with-zlib-dir -with-libmemcached-dir=/usr/local/libmemcached -prefix=/usr/local/phpmemcached
make && make install

报错:memcache support requires ZLIB解决办法  
yum install zlib-devel

记录下安装成功后的提示,类似于:
Installing shared extensions: /usr/lib/php/modules/

7.增加扩展extension配置文件
vi /etc/php.d/memcached.ini
增加1行
extension=memcached.so
最后验证一下是否安装完成
php -m|grep memcached
应该会显示memcached

8.重启nginx/amapche,重启php-fpm,使用phpinfo()查看memcached模块是否安装成功。

技术分享

****************************************************************************************

memcached能启动但无法用php连接的问题(浏览器打开包含memcached的页面,firebug报500错误)
1.SELINUX=enforcing 改为 SELINUX=disabled
2.在终端尝试使用:telnet localhost 11211或者telnet 127.0.0.1 11211来连接到memcached的服务器
如果提示bash: telnet: command not found
执行:yum install telnet -y,再次回到浏览器尝试打开。

测试脚本:

<?php
$m = new Memcached;
$m->addServer(‘127.0.0.1‘, 11211);
$m->set(‘foo‘, 200);
var_dump($m->get(‘foo‘));
?>

郑重声明:本站内容如果来自互联网及其他传播媒体,其版权均属原媒体及文章作者所有。转载目的在于传递更多信息及用于网络分享,并不代表本站赞同其观点和对其真实性负责,也不构成任何其他建议。