天天看點

更新libmemcached及php的memcached之pecl擴充

所需軟體包

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

繼續閱讀