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便可生效