我曾经手动编译 memcached 堆栈,其中包括 igbinary。这是在我开始使用 remi repo 之前,它提供了更新的包,没有手动编译的所有开销。
以下是我以前手动编译 igbinary 时使用的注释:
Had to scp the source from another computer due to lack of direct links, the next steps assume pecl/memcached files are local and extracted
$ -> wget http://pecl.php.net/get/igbinary-1.1.1.tgz
$ -> tar -xzvf igbinary-1.1.1.tgz
$ -> cd igbinary-1.1.1
$ -> phpize
$ -> ./configure # No need for extra config params
$ -> make
$ -> make install # This should copy the resulting .so file to the php dir where all modules are stored
$ -> /etc/init.d/httpd restart # I remember having to do this for phpinfo to reflect the setting correctly after the udpate
现在,如果您查看您的 phpinfo(或 cli 中的 php -i),应将 igbinary 支持设置为 yes。
- 更新 -
确保在 php.ini 或 igbinary.ini 中有以下行,php 可以读取它:
; Enable igbinary extension module
extension=igbinary.so
-- 更新#2 --
忘了提一下,您需要使用以下标志编译 memcached 才能使用 igbinary:
--enable-memcached-igbinary
-- 更新#3 --
以防将来有人偶然发现这一点。手动维护 PHP 堆栈以及常用的扩展是一件痛苦的事情,而且通常不值得付出额外的努力。您最好使用发行版的包管理器来处理所有繁重的工作,安装带有 igbinary 支持的 memcached 的 php 的示例如下所示:
yum install php php-cli php-pecl-memcached php-pecl-igbinary
如果您发行版的 php 上游版本较旧并且您希望使用更新版本,请查看 REMI 存储库:http: //blog.famillecollet.com/pages/Config-en