所需軟體包
libmemcached-1.0.9 https://launchpad.net/libmemcached/1.0/1.0.9/+download/libmemcached-1.0.9.tar.gz
memcached-2.1.0 http://pecl.php.net/get/memcached-2.1.0.tgz (注意上一版本即memcached-2.0.1.tgz 這個包有bug)
系統更新如下:
CentOS release 5.5
CPU = 64-bit, OS = 64-bit
Compiler GNU CC version 4.1.2 20080704 (Red Hat 4.1.2-48)
注意:之前已經安裝了libmemcached-1.0.2及php和php的擴充memcached-1.0.2
一、安裝libmemcached-1.0.9
[[email protected] packages]# tar zxvf libmemcached-1.0.9.tar.gz
[[email protected] packages]# cd libmemcached-1.0.9
[[email protected] libmemcached-1.0.9]# ./configure --prefix=/usr/local/libmemcached --with-memcached
更新libmemcached從1.0.2更新到1.0.9編譯出錯如下提示:
make[1]: Entering directory `/packages/libmemcached-1.0.9'
CXX libhashkit/libhashkit_libhashkit_la-aes.lo
CXX libhashkit/libhashkit_libhashkit_la-algorithm.lo
CXX libhashkit/libhashkit_libhashkit_la-behavior.lo
CXX libhashkit/libhashkit_libhashkit_la-crc32.lo
CXX libhashkit/libhashkit_libhashkit_la-digest.lo
CXX libhashkit/libhashkit_libhashkit_la-encrypt.lo
CXX libhashkit/libhashkit_libhashkit_la-fnv_32.lo
CXX libhashkit/libhashkit_libhashkit_la-fnv_64.lo
CXX libhashkit/libhashkit_libhashkit_la-function.lo
CXX libhashkit/libhashkit_libhashkit_la-has.lo
CXX libhashkit/libhashkit_libhashkit_la-hashkit.lo
CXX libhashkit/libhashkit_libhashkit_la-jenkins.lo
CXX libhashkit/libhashkit_libhashkit_la-ketama.lo
CXX libhashkit/libhashkit_libhashkit_la-md5.lo
CXX libhashkit/libhashkit_libhashkit_la-murmur.lo
CXX libhashkit/libhashkit_libhashkit_la-one_at_a_time.lo
CXX libhashkit/libhashkit_libhashkit_la-rijndael.lo
CXX libhashkit/libhashkit_libhashkit_la-str_algorithm.lo
CXX libhashkit/libhashkit_libhashkit_la-strerror.lo
CXX libhashkit/libhashkit_libhashkit_la-string.lo
CXX libhashkit/libhashkit_libhashkit_la-nohsieh.lo
CXXLD libhashkit/libhashkit.la
CXX libmemcached/csl/libmemcached_libmemcached_la-context.lo
In file included from ./libmemcached/common.h:72,
from ./libmemcached/csl/common.h:40,
from libmemcached/csl/context.cc:38:
./libmemcached-1.0/memcached.h:46:27: error: tr1/cinttypes: No such file or directory
make[1]: *** [libmemcached/csl/libmemcached_libmemcached_la-context.lo] Error 1
make[1]: Leaving directory `/packages/libmemcached-1.0.9'
make: *** [all] Error 2
處理如下:
[[email protected] libmemcached-1.0.9]# yum install gcc44 gcc44-c++ libstdc++44-devel
[[email protected] libmemcached-1.0.9]# export CC=/usr/bin/gcc44
[[email protected] libmemcached-1.0.9]# export CXX=/usr/bin/g++44
重新編譯安裝libmemcached-1.0.9
[[email protected] libmemcached-1.0.9]# ./configure --prefix=/usr/local/libmemcached --with-memcached
[[email protected] libmemcached-1.0.9]# make
[[email protected] libmemcached-1.0.9]# make install
二、更新安裝php的memcached擴充memcached-2.1.0
[[email protected] packages]# tar zxvf memcached-2.1.0.tgz
[[email protected] packages]# cd memcached-2.1.0
[[email protected] memcached-2.1.0]# /usr/local/php/bin/phpize
[[email protected] memcached-2.1.0]# ./configure --with-php-config=/usr/local/php/bin/php-config --with-libmemcached-dir=/usr/local/libmemcached
[[email protected] memcached-2.1.0]# make
[[email protected] memcached-2.1.0]# make install
重新開機webserver