无论是从 PECL 安装 php5-memcached 还是从 apt-get 命令安装,安装上的 memcached 模块都是不带有 igbinary 序列化组件支持的,由于 igbinary 有很大的性能优势,所以尽量使用 igbinary 作为 memcached 的序列化组件。
环境说明
操作系统:Ubuntu Server 14.04 64-bit
PHP:PHP 5.5.9
构建过程
首先,安装 PHP 开发版
yuanyu@usvr:~$ sudo apt-get install php5-dev
然后安装依赖库
yuanyu@usvr:~$ sudo apt-get install libevent-dev yuanyu@usvr:~$ sudo apt-get install pkg-config
接下来,安装 igbinary 模块
yuanyu@usvr:~$ sudo pecl install igbinary
从源码构建 libmemcached
获取 libmemcached 的源码,这里使用的是 1.0.18 版本
yuanyu@usvr:~$ cd tmp yuanyu@usvr:~/tmp$ wget https://launchpad.net/libmemcached/1.0/1.0.18/+download/libmemcached-1.0.18.tar.gz
解压缩,配置,并且进行构建
yuanyu@usvr:~/tmp$ tar xzvf libmemcached-1.0.18.tar.gz yuanyu@usvr:~/tmp$ cd libmemcached-1.0.18 yuanyu@usvr:~/tmp/libmemcached-1.0.18$ ./configure yuanyu@usvr:~/tmp/libmemcached-1.0.18$ make yuanyu@usvr:~/tmp/libmemcached-1.0.18$ sudo make install
从源码构建 php5-memcached
使用 pecl 获取 php5-memcached 的源码,然后配置的时候启用
--enable-memcached-igbinary
。
yuanyu@usvr:~/tmp$ pecl download memcached-2.2.0 yuanyu@usvr:~/tmp$ tar xzvf memcached-2.2.0.tgz yuanyu@usvr:~/tmp$ cd memcached-2.2.0 yuanyu@usvr:~/tmp/memcached-2.2.0$ phpize yuanyu@usvr:~/tmp/memcached-2.2.0$ ./configure --enable-memcached-igbinary --disable-memcached-sasl yuanyu@usvr:~/tmp/memcached-2.2.0$ make yuanyu@usvr:~/tmp/memcached-2.2.0$ sudo make install
配置 PHP,加入新构建的两个模块
上面的构建步骤完成之后,就会在 PHP 扩展模块产生 2 个 so 文件:
igbinary.so
和
memcached.so
,将这个两个文件配置到你的运行环境中即可。
[…] https://ijuer.com/blog/578.html […]