如何使用PHP55安装memcached

如何使用PHP55安装memcached,php,php-extension,Php,Php Extension,首先,我的web服务器运行在Redhat6.6上,我需要自己构建PHP以支持它 今天我要启用支持 据我所知,我不能使用yum安装php55-php-pecl-memcached.x86_64,因为它也会将默认的php包作为依赖项安装,并使memcached仅对其php依赖项启用 我查看了,但它似乎只适用于PHP5.2 我安装了libmemcached devel.x86_64,但我不能phpize它,因为它在libmemcached文件夹中丢失了一些文件,它似乎不是phpize需要的源文件 我还

首先,我的web服务器运行在Redhat6.6上,我需要自己构建PHP以支持它

今天我要启用支持

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

我查看了,但它似乎只适用于PHP5.2

我安装了
libmemcached devel.x86_64
,但我不能
phpize
它,因为它在libmemcached文件夹中丢失了一些文件,它似乎不是phpize需要的源文件


我还能做什么呢?

从零开始,有一个很好的方法

通过RPM安装memcached

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

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

从shell提示符获取CentOS/RedHat版本号:

$ cat /etc/redhat-release
CentOS release 5.3 (Final)
然后获取服务器架构信息。这是32位机器的典型响应:

$ uname -a
Linux服务器1.example.com 2.6.18-92.1.13.el5#1 SMP周三9月24日19:33:52美国东部夏令时2008 i686 i686 i386 GNU/Linux

或者,如果您有一台64位机器,您可能会得到如下结果:

$ uname -a
Linux server.example.com 2.6.18-53.1.21.el5#1 SMP周二5月20日09:35:07美国东部夏令时2008年x86 _64x86 _64x86 _64GNU/Linux

现在从
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
我写这篇文章时使用的服务器是一台运行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已启动并正在运行

$ 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
在Web服务器上运行phpinfo()现在应确认已安装memcache:

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

我认为您需要为
phpize
@C安装
php5-dev
ᴴᵁᴮᴮʸNᴵᴺᴶᴬ 在PHP的bin目录中,我有一个phpize二进制文件。文件丢失似乎在memcached端。@CᴴᵁᴮᴮʸNᴵᴺᴶᴬ 实际上,我的问题可能是:在哪里可以找到可以用来缓存它们的memcached文件?