天天看点

编译安装memcached扩展记要

编译memcached扩展的时候,得指定libmemcached库的位置

--with-libmemcached-dir=DIR 来指定路径。这个路径就是安装libmemcached时指定的prefix的值

所以得先安装libmemcached库。

一、安装libmemcached库

libmemcached库为什么编译不成功,好像是需要更高版本的gcc编译器?

我按照网上说的,执行了:

yum install gcc44 gcc44-c++ libstdc++44-devel

原因 貌似是gcc版本过低了

对策:libmemcached-1.0.2 版本以上升级编译器版本

# yum install gcc44 gcc44-c++ libstdc++44-devel

# export CC=/usr/bin/gcc44

# export CXX=/usr/bin/g++44

# ./configure

疑问:cc和cxx表示什么呢?

cc表示gcc编译器。cxx表示g++编译器(针对c++源码的)

安装成功后,假设库的安装位置为:/usr/local/libmemcached-1.0.18/

二、编译memcached扩展

安装好库后,现在编译memcached扩展

进入到memcached源码目录

cd memcached-2.0.0

/usr/local/php/php-5.5.18/bin/phpize             #去源码目录下执行phpize,目的是在当前目录生成一个configure文件

./configure --with-php-config=/usr/local/php/php-5.5.18/bin/php-config --with-libmemcached-dir=/usr/local/libmemcached-1.0.18/

make

make install  这一步会自动将生成好的.so扩展文件复制到php的扩展目录下去

三、修改php.ini

把memcached.so这个扩展加进去,这一步简单。不用说了

额外:编译memcache扩展(不带d的),也是同样操作。这个扩展依赖于libmemcache库(也是不带d)。目前一般都使用memcached扩展,功能更全