编译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扩展,功能更全