centos 6.5 php memcached,如何在centos 6.5中为php 5.6安装memcached及php扩展

导语:有位客户的机器运行缓慢,为了提高响应速度,叶子决定利用memcached将数据表中的数据加载到内存,客户的服务器配置为centos 6.5 + php 5.6。下面是安装过程。

安装memcached服务端

叶子通过yum方式安装的。

yum install -y memcached

启动memcached服务端

/usr/bin/memcached -d -l 127.0.0.1 -p 11211 -m 64 -u root

加入开机自启动

vi /etc/rc.d/rc.local

在/etc/rc.d/rc.local,最后面增加下面的代码:

#memcahed

/usr/bin/memcached -d -l 127.0.0.1 -p 11211 -m 64 -u root

可能需要为rc.local增加执行权限,否则它不会开机启动。

chmod +x /etc/rc.d/rc.local

安装memcached客户端

安装memcached客户端为两部分,一部分是安装libmemcached,另外一部分为安装php-memcached扩展。

通过yum方式安装libmemcached。

yum -y install libmemcached-devel

开始安装php-memcached扩展。

切换目录。

cd /usr/local/src/

下载memcached-2.2.0,因为服务器上安装的是php5.6,所以它只能用memcached 2.2.0。

wget -c http://pecl.php.net/get/memcached-2.2.0.tgz

如果是php 7,那么就可以使用memcached 3x,最近更新的。memcached 3x 可以是用git克隆的方式下载。

git clone https://github.com/php-memcached-dev/php-memcached

解压下载的压缩包。

tar -zxf memcached-2.2.0.tgz

切换到刚刚的解压目录。

cd memcached-2.2.0

在这个目录执行phpize。

/usr/local/php-5.6/bin/phpize

还是在这个目录执行configure。

./configure --with-php-config=/usr/local/php-5.6/bin/php-config --with-libmemcached-dir=/usr --disable-memcached-sasl

执行make && make install。结果报错。

make && make install

In file included from /usr/local/src/memcached-2.2.0/php_memcached_private.h:28,

from /usr/local/src/memcached-2.2.0/php_memcached.c:26:

/usr/local/src/memcached-2.2.0/php_libmemcached_compat.h:56: error: expected ‘=’, ‘,’, ‘;’, ‘asm’ or ‘__attribute__’ before ‘php_memcached_instance_st’

叶子推测是不是通过yum方式安装的libmemcached版本太高了,所以觉得手工安装较低版本的libmemcached。

先删除libmemcached,一样是通过yum方式。

yum remove libmemcached libmemcached-devel

切换至memcached-2.2.0的上级目录。

cd /usr/local/src/

下载libmemcached-1.0.18的压缩包。

wget https://launchpad.net/libmemcached/1.0/1.0.18/+download/libmemcached-1.0.18.tar.gz

解压压缩包

tar -zxf libmemcached-1.0.18.tar.gz

切换到刚刚的目录下面。

cd libmemcached-1.0.18

开始编译生成。

./configure

make

make install

切换到上级目录。

cd /usr/local/src/

找出刚刚生成的memcached.h。最后的一条记录:/usr/local/include/libmemcached/memcached.h。

find / -name memcached.h

/usr/local/src/libmemcached-1.0.18/libmemcached-1.0/struct/memcached.h

/usr/local/src/libmemcached-1.0.18/libmemcached-1.0/memcached.h

/usr/local/src/libmemcached-1.0.18/libtest/memcached.h

/usr/local/src/libmemcached-1.0.18/libmemcached/memcached.h

/usr/local/include/libmemcached-1.0/struct/memcached.h

/usr/local/include/libmemcached-1.0/memcached.h

/usr/local/include/libmemcached/memcached.h

切换到开始下载的memcached-2.2.0目录。

cd /usr/local/src/memcached-2.2.0

在当前目录下运行phpize。

/usr/local/php-5.6/bin/phpize

运行configure,注意 –with-libmemcached-dir=/usr/local/,和原来不一样了,是刚刚通过find找到的路径。

./configure --with-php-config=/usr/local/php-5.6/bin/php-config --with-libmemcached-dir=/usr/local/ --disable-memcached-sasl

编译完成。放在/usr/local/php-5.6/lib/php/extensions/no-debug-non-zts-20131226/里。

make && make install

Build complete.

Don't forget to run 'make test'.

Installing shared extensions: /usr/local/php-5.6/lib/php/extensions/no-debug-non-zts-20131226/

用find命令看一下。

find / -name memcached.so

/usr/local/src/memcached-2.2.0/modules/memcached.so

/usr/local/src/memcached-2.2.0/.libs/memcached.so

/usr/local/php-5.6/lib/php/extensions/no-debug-non-zts-20131226/memcached.so

用vi打开php.ini ,然后配置下面的内容。

vi /home/wwwroot/alimps/etc/amh-php.ini

extension = /usr/local/php-5.6/lib/php/extensions/no-debug-non-zts-20131226/memcached.so

重启php-fpm。如果你没有使用php-fpm,那就重启apache。

ps aux|grep php-fpm

kill -USR2 11473

结束

你学会了?如果你需要在wordpress里面加载memcached,那么可以翻看我们的文章。

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

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值