升级libmemcached及php的memcached之pecl扩展

本文介绍如何从libmemcached-1.0.2升级到1.0.9,并安装memcached-2.1.0扩展。解决编译过程中遇到的tr1/cinttypes文件缺失问题,最终成功升级并安装。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

所需软件包
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
[root@niutian365 packages]# tar zxvf libmemcached-1.0.9.tar.gz
[root@niutian365 packages]# cd libmemcached-1.0.9
[root@niutian365 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

处理如下:
[root@niutian365 libmemcached-1.0.9]# yum install gcc44 gcc44-c++ libstdc++44-devel
[root@niutian365 libmemcached-1.0.9]# export CC=/usr/bin/gcc44
[root@niutian365 libmemcached-1.0.9]# export CXX=/usr/bin/g++44
重新编译安装libmemcached-1.0.9
[root@niutian365 libmemcached-1.0.9]# ./configure --prefix=/usr/local/libmemcached --with-memcached
[root@niutian365 libmemcached-1.0.9]# make
[root@niutian365 libmemcached-1.0.9]# make install

二、升级安装php的memcached扩展memcached-2.1.0
[root@niutian365 packages]# tar zxvf memcached-2.1.0.tgz 
[root@niutian365 packages]# cd memcached-2.1.0
[root@niutian365 memcached-2.1.0]# /usr/local/php/bin/phpize 
[root@niutian365 memcached-2.1.0]# ./configure --with-php-config=/usr/local/php/bin/php-config --with-libmemcached-dir=/usr/local/libmemcached
[root@niutian365 memcached-2.1.0]# make
[root@niutian365 memcached-2.1.0]# make install

重启webserver

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值