我想开始使用PHP的memcache(在Ubuntu 9.10上).网上有很多信息,似乎显示了如何做到这一点.但令人惊讶的是,没有一篇文章(我到目前为止已经看过)明确说明你是否需要在尝试使用它之前运行内存缓存进程,或者是否只是通过PHP客户端库调用新的MemCache(),就会产生一个进程(如果尚未运行).
从我到目前为止阅读的各种文档来看,这些是我认为有意义的步骤:
在您的机器上安装memcache(有几个文档显示如何执行此操作)
修改您的php.ini文件,并将与memcache相关的consts/flags设置为对您的环境有意义的值
在ini.d中创建一个init脚本以启动memcache作为守护进程
重新启动Apache守护程序
3号是我需要确认的部分,因为到目前为止我所看到的文档都没有提到memcache进程的生命周期.
如果这是正确的步骤,有人可以在此确认吗?如果我错过了一步,请告诉我.
顺便说一句,由于我对Linux比较陌生,如果有人能发布运行memcache守护程序进程所需的init脚本示例(假设我上面概述的步骤正确),我将不胜感激.
memcached和Apache + PHP是两个完全不相关的东西,起初.唯一的事情是PHP连接到memcached守护进程.
所以,是的,memcached (注意' d
'在最后)必须在你尝试使用它之前启动它:你尝试连接到memcached服务器,当它没有运行时,你将无法连接 - 它赢了' t产生一个新的守护进程也没有.
使用简单的比较:您的Apache服务器未启动,并且您尝试使用浏览器访问它,您将收到"无法连接"错误; 它与PHP试图连接到memcached完全一样:它无法实现.
现在,对于安装过程,这里有几个注释,对于你所说的看起来不太好的部件:
在您的计算机上安装memcached
如果你安装了使用你的发行机制,它应该在/etc/init.d/中创建了脚本
它本应该启动守护进程
提醒一下,要安装Ubuntu的东西,你应该使用apt-get install memcached
或aptitude install memcached
在修改php.ini之前,必须安装memcache
PHP 的扩展 - 因此PHP具有连接到memcached的功能.
这可以使用php5-memcache
您的发行包来完成
或者使用pecl install memcache
命令,它将从pecl.php.net下载源代码并编译它们 - 这意味着您将需要编译软件所需的一切.
编辑:这里比在评论中更容易回答
我说安装memcached应该没关系 - 在Ubuntu上,似乎有一个陷阱:
使用这个:
ps -Alf | grep memcached
我没有看到任何正在运行的守护进程.
当我尝试启动守护进程时,我得到以下内容:
$ sudo /etc/init.d/memcached start Starting memcached: memcached disabled in /etc/default/memcached.
所以,在Ubuntu上,你必须编辑/etc/default/memcached
并更改它; 而不是这个:
# Set this to yes to enable memcached. ENABLE_MEMCACHED=no
它应该包含:
# Set this to yes to enable memcached. ENABLE_MEMCACHED=yes
然后,应该可以启动memcached:
$ sudo /etc/init.d/memcached start Starting memcached: memcached. test@tests: ~/temp $ ps -Alf | grep mem 4 S nobody 3813 1 0 80 0 - 30025 ep_pol 00:17 pts/4 00:00:00 /usr/bin/memcached -m 64 -p 11211 -u nobody -l 127.0.0.1 0 R test 3819 2690 0 80 0 - 1834 - 00:17 pts/4 00:00:00 grep --color=auto mem
注意:现在启用了memcached,每次重启时都应该自动启动系统.