如何使用PHP55安装memcached

时间:2015-03-26 16:14:12

标签: php php-extension

首先我的网络服务器运行在Redhat6.6上,我需要自己构建PHP以启用Sybase支持。

今天我想启用memcached支持。

据我所知,我不能使用yum install php55-php-pecl-memcached.x86_64,因为它还会将默认的php包作为依赖项安装,并使memcached只能为其php依赖启用。

我查看了PECL packages,但它似乎仅适用于PHP5.2。

我安装了libmemcached-devel.x86_64但我无法phpize因为它错过了某些文件到libmemcached文件夹中,似乎不是 phpize 需要的来源。

我还能做些什么

1 个答案:

答案 0 :(得分:1)

从头开始,有一种很好的方法。

通过RPM安装memcached

安装Memcached的最简单方法是通过包管理器,例如yum or apt(在您的情况下为yum,因为它的redhat)。但是,默认的软件包集合中没有Memcached,因此我们首先要做的是添加一个新的RPM(Red Hat Package Manager)服务器,以便我们可以通过Memcached <安装yum. / p>

最好的第三方RPM服务器之一由Dag Wieers提供,它将为我们提供Red Hat不直接提供的最新软件包。设置RPM服务器的一个棘手的部分是确保获得与您的服务器版本和体系结构(32位或64位)匹配的存储库。所以我们需要先收集这些信息。

在shell提示符下,获取CentOS / RedHat版本号:

$ cat /etc/redhat-release
CentOS release 5.3 (Final)

然后获取服务器架构信息。这是32位机器的典型响应:

$ uname -a

Linux server1.example.com 2.6.18-92.1.13.el5#1 SMP Wed Sep 24 19:33:52 EDT 2008 i686 i686 i386 GNU / Linux

或者,如果你有一台64位机器,你可能会得到这样的东西:

$ uname -a

Linux server.example.com 2.6.18-53.1.21.el5#1 SMP Tue May 20 09:35:07 EDT 2008 x86_64 x86_64 x86_64 GNU / Linux

现在安装与您的架构和http://dag.wieers.com/rpm/FAQ.php#B2.

的CentOS版本相匹配的RPM服务器

我写这个时使用的服务器是运行CentOS 5.x版的32位机器。所以我的特定服务器是:

http://apt.sw.be/redhat/el5/en/i386/rpmforge/RPMS/rpmforge-release-0.3.6-1.el5.rf.i386.rpm

要安装新的RPM服务器,我们只需使用rpm命令即可。请注意,您必须找到与您的体系结构和软件匹配的RPM服务器字符串。除非您有运行CentOS 5.x的32位计算机,否则请不要使用该URL,而是从http://dag.wieers.com/rpm/FAQ.php#B2.

获取适当的服务器
$ rpm -Uhv http://apt.sw.be/redhat/el5/en/i386/rpmforge/RPMS/rpmforge-release-0.3.6-1.el5.rf.i386.rpm

现在我们可以简单地使用yum(或apt)来安装Memcached:

$ yum install memcached

之后,您可以通过调用来确认memcached已启动并正在运行。

$ memcached -h

memcached 1.2.6

安装Memcache PECL扩展程序

即使memcached在服务器上运行愉快,但如果没有PECL扩展,则无法从PHP访问它。幸运的是,这是一个非常简单的过程,只需使用pecl命令。

$ pecl install memcache

然后将memcache扩展名添加到php.ini文件中,通常位于/etc/php.ini。

extension=memcache.so

最后重新启动Apache,以便它获取新的扩展名:

$ /etc/init.d/apache2 restart

在您的网络服务器上运行phpinfo()现在应确认已安装内存缓存:

phpinfo()的输出显示memcache已成功安装 将Memcached设置为服务

安装memcache本身不会做任何事情,我们需要实际启动它的一些实例供我们的Web服务器连接,我们需要memcached在服务器重启时自动启动。

为此,我们需要在/etc/init.d/memcached上安装一个新脚本。为此,我通常使用一个有点粗糙的自定义脚本,因为它假定memcached专门用于我们的Web服务器。但是,大部分时间都是如此,它运作得很好。

Download the memcached script (rename to just "memcached").

只需将此脚本加载到/etc/init.d.然后设置权限就可以使其可执行:

$ chmod 755 memcached

然后注册脚本以启动服务器:

$ chkconfig --add memcached

现在您可以将memcached作为服务启动。

$ service memcached start

您可以通过检查ps来确认memcached已启动多个实例。

$ ps -e | grep memcached
22805 ?        00:00:59 memcached
22807 ?        00:00:58 memcached
22809 ?        00:01:16 memcached
22811 ?        00:00:55 memcached
22813 ?        00:00:01 memcached
22815 ?        00:01:02 memcached
22817 ?        00:00:27 memcached
22819 ?        00:00:35 memcached
22821 ?        00:00:01 memcached
22823 ?        00:00:01 memcached
22825 ?        00:00:01 memcached