(转发)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')); ?>