1

下面是我的 memcached 的 phpinfo() 输出

memcached

memcached support   enabled
Version 2.1.0
libmemcached version    1.0.4
Session support yes
igbinary support    no
json support    no

我正在使用基于 redhat 的 AWS Linux AMI,我相信它并使用 YUM。

如何启用 igbinary 支持?

这是否必须在 memcached 安装时发生?我的 memcached 已经在工作了,所以现在有办法添加这个支持吗?

谢谢你

4

1 回答 1

4

我曾经手动编译 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

于 2013-02-15T23:22:00.787 回答