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