记一次手动安装pecl扩展--memcache

下载zlib(因为php的memcache扩展模块使用了函数» zlib 来支持数据压缩,因此安装此模块需要安装Zlib模块。 ):http://sourceforge.net/projects/libpng/files/zlib/1.2.5/zlib-1.2.5.tar.gz/download

下载memcache的php扩展:http://pecl.php.net/get/memcache-3.0.6.tgz

由于Ubuntu11.04默认没有安装zlib,所以首先安装 zlib

 

tar -xzvf zlib-1.2.5.tar.gz
cd  zlib-1.2.5
./configure --prefix=/usr/dev/zlib
make
make installl 

 

 

然后安装memcache

 

tar -xzvf  memcache-3.0.6.tgz
cd memcache-3.0.6
/usr/dev/php-5.3.6/bin/phpize      //使用phpize生成configure文件 ,phpize是编译pecl食用的,phpize一般在php安装目录的bin目录下面,可以参考此处:http://www.cnblogs.com/wangtao_20/archive/2011/3/16.html
这一步可能会报如下错误:Cannot 
find autoconf. Please check your autoconf installation
这是因为还没有安装autoconf或者phpize里面的autoconf设置的不对,首先使用dpkg -l 检查是否已经安装autoconf,如果没有安装,则需要下载安装:
下载 autoconf   http:
//ftp.gnu.org/gnu/autoconf/autoconf-2.68.tar.gz
tar -xzvf autoconf-
2.68.tar.gz
cd autoconf-2.68
./configure --prefix=/usr/dev/pecl/autoconf
make
make install 安装成功后需要更改phpsize
sudo gedit 
/usr/dev/php-5.3.6/bin/phpize
找到test -z 
"$PHP_AUTOCONF" 和 test -z "$PHP_AUTOHEADER",此例中如下:
         test -z 
"$PHP_AUTOCONF" && PHP_AUTOCONF=autoconf
           test -z 
"$PHP_AUTOHEADER" && PHP_AUTOHEADER=autoheader 
更改为:
       test -z 
"$PHP_AUTOCONF" && PHP_AUTOCONF=/usr/dev/pecl/autoconf/bin/autoconf
         test -z 
"$PHP_AUTOHEADER" && PHP_AUTOHEADER=/usr/dev/pecl/autoconf/bin/autoheader
保存退出 
回到memcache-
3.0.6 目录
/usr/dev/php-5.3.6/bin/phpize    //执行成功,会在当前目录生成一个configure文件
./configure --with-php-config=/usr/dev/php-5.3.6/bin/php-config --with-zlib-dir=/usr/dev/zlib  --with-apxs=/usr/dev/apache/bin/apxs --with-gettext --enable-socket --enable-memcache --enable-sysvshm --enable-shmop 
make
make install

 

 

打开php.ini文件,此例中为/usr/dev/php-5.3.6/lib/php.ini

添加如下两行: 

extension_dir = /usr/dev/php5.3.6/lib/php/extensions/no-debug-non-zts-20090626"
extension=memcache.so

 

当然也可以将

/usr/dev/php5.3.6/lib/php/extensions/no-debug-non-zts-20090626/memcache.so 复制到 /usr/dev/php5.3.6/lib/php/extensions/memcache.so 
或者创建一个指向/usr/dev/php5.3.6/lib/php/extensions/no-debug-non-zts-20090626/memcache.so 硬链接/usr/dev/php5.3.6/lib/php/extensions/memcache.so

 

 

然后再php.ini添加如下两行: 

extension_dir = /usr/dev/php5.3.6/lib/php/extensions"
extension=memcache.so

关闭保存php.ini,重启apache,就可以在php代码中使用memcache扩展了

 

 

posted @ 2011-08-19 12:00  再快一点  阅读(3755)  评论(0编辑  收藏  举报