debian5已经发布好几年了,默认自带的PHP是5.2.6,也带有php5-memcache模块,可是后来出现了更好用的php5-memcached模块,而php5-memcached在debian6中,老机器机器都是debian5且跑有重要服务,怎样安装php5-memcached模块呢? php
有个工具是pecl,pecl须要php5-dev php-pear这两个包支持,能够用它安装memcached:pecl install memcached,可是它会一直提示找不到libmemcached-1.0/memcached.h头文件,这是个bug,因此咱们换下面的方法: shell
1 更改debian5的源为debian6 apache
vi /etc/apt/sources.list deb http://mirrors.163.com/debian/ squeeze main non-free contrib deb http://mirrors.163.com/debian/ squeeze-proposed-updates main non-free contrib deb http://mirrors.163.com/debian-security/ squeeze/updates main non-free contrib2 安装libmemcached5 libmemcached-dev
apt-get update apt-get install libmemcached5 libmemcached-dev为何不直接安装php5-memcached呢,由于这样会更新整个php5的环境,因此咱们只安装memcached的lib库
3 下载memcached-2.1.0.tgz源码包 memcached
wget 'http://pecl.php.net/get/memcached-2.1.0.tgz'4 安装memcached模块
tar zxvf memcached-2.1.0.tgz
cd memcached-2.1.0/
phpize
./configure
make
#make时发现也会提示找不到libmemcached-1.0/memcached.h文件
5
查找memcached.h的具体路径
dpkg -L libmemcached-dev | grep memcached.h6 修改 memcached-2.1.0.tgz中的php_libmemcached_compat.h
vi php_libmemcached_compat.h /*#include <libmemcached-1.0/memcached.h> */ #include </usr/include/libmemcached/memcached.h>7 而后从新安装便可
8 把编译好的memcached.so加入配置文件中 工具
cd /etc/php5/conf.d touch memcached.ini extension=memcached.so9 重启apache便可生效