首先我的网络服务器运行在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 需要的来源。
我还能做些什么
答案 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 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