首先,我的web服务器运行在Redhat6.6上,我需要自己构建PHP以启用Sybase支持。
今天我想启用memcached支持。
据我所知,我不能使用yum install php55-php-pecl-memcached.x86_64
,因为它还将安装默认的php包作为依赖项,并使memcached仅为其php依赖项启用。
我查看了PECL软件包,但它似乎只适用于PHP5.2。
我安装了libmemcached-devel.x86_64
,但我不能phpize
,因为它在libmemcached文件夹中丢失了一些文件,它似乎不是phpize需要的源。。。
我能做更多的
从零开始,有一个很好的方法可以做到这一点。
通过RPM安装memcached
安装Memcached
最简单的方法是通过包管理器,如yum or apt
(在您的案例中是yum
,因为它是redhat)。然而,Memcached在默认的软件包集合中不可用,因此我们需要做的第一件事是添加一个新的RPM(Red Hat Package Manager)服务器,以便我们可以通过yum.
安装Memcached
最好的第三方RPM服务器之一由Dag Wiers提供,它将为我们提供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 i286 GNU/Linux
或者,如果你有一台64位机器,你可能会得到这样的东西:
$ uname -a
Linux server.example.com 2.6.18-53.1.21.el5#1 SMP美国东部时间2008年5月20日星期二09:35:07 x86_64 x86_64 GNU/Linux
现在从http://dag.wieers.com/rpm/FAQ.php#B2.
安装与您的体系结构和CentOS版本相匹配的RPM服务器
当我写这篇文章的时候,我使用的服务器是一台32位的机器,运行的是CentOS 5.x版本。所以我的特定服务器是:
http://apt.sw.be/redhat/el5/en/i386/rpmforge/RPMS/rpmforge-release-0.3.6-1.el5.rf.i386.rpm
要安装新的RPM服务器,我们只需使用RPM命令。请注意,您必须找到与您的体系结构和软件相匹配的RPM服务器字符串。除非你有一台32位的机器在运行CentOS 5.x,否则不要使用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
在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