从我到目前为止阅读的各种文档来看,这些是我认为有意义的步骤:
>在您的机器上安装memcache(有几个文档显示如何执行此操作)
>修改您的PHP.ini文件,并将与memcache相关的consts / flags设置为对您的环境有意义的值
>在ini.d中创建一个init脚本以启动memcache作为守护进程
>重新启动Apache守护程序
3号是我需要确认的部分,因为到目前为止我所看到的文档都没有提到memcache进程的生命周期.
如果这是正确的步骤,有人可以在此确认吗?
如果我错过了一步,请告诉我.
顺便说一下,由于我对Linux比较陌生,如果有人能发布一个运行memcache守护程序进程所需的init脚本示例(我假设上面列出的步骤是正确的),我将不胜感激.
所以,是的,memcached(注意最后的’d’)必须在你尝试使用之前启动:你尝试连接到memcached服务器,当它没有运行时,你将无法连接 – 它赢了也不会产生新的守护进程.
使用简单的比较:您的Apache服务器未启动,并且您尝试使用浏览器访问它,您将收到“无法连接”错误; PHP尝试连接到memcached时完全一样:它无法实现.
现在,对于安装过程,这里有几个注释,对于你所说的看起来不太好的部件:
>在您的机器上安装memcached
>如果你安装了使用你的发行机制,它应该在/etc/init.d/中创建了脚本
>它应该启动守护进程
>提醒一下,要安装Ubuntu,你应该使用apt-get install memcached或aptitude install memcached
>在修改PHP.ini之前,必须安装PHP的memcache扩展 – 因此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,每次重启时都应该自动启动系统.