我想开始使用PHP的memcache(在Ubuntu 9.10上)。网上有很多信息,似乎显示了如何做到这一点。但令人惊讶的是,没有一篇文章(我到目前为止已经看过)明确说明你是否需要在尝试使用它之前运行内存缓存进程,或者是否只是通过PHP客户端库调用新的MemCache(),就会产生一个进程(如果尚未运行)。
从我到目前为止所阅读的各种文档来看,这些是我认为有意义的步骤:
第3号是我需要确认的部分,因为到目前为止我所看到的文档都没有提到memcache过程的生命周期。
如果这是正确的步骤,有人可以在此确认吗? 如果我错过了一步,请告诉我。
顺便说一下,由于我对Linux比较陌生,如果有人能发布一个运行memcache守护程序进程所需的init脚本示例,我将不胜感激(假设我上面列出的步骤是正确的) )
答案 0 :(得分:11)
所以,是的,memcached (请注意最后的“d
”)必须在尝试使用它之前启动它:当你没有运行时尝试连接到memcached服务器,你将无法连接 - 它不会产生新的守护进程也不会产生任何东西。
使用简单的比较:您的Apache服务器未启动,并且您尝试使用浏览器访问它,您将收到“无法连接”错误;与尝试连接到memcached的PHP完全一样:它无法实现。
现在,对于安装过程,这里有几个注释,对于你说的看起来不太好的部分:
apt-get install memcached
或aptitude install memcached
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,每次重启时都应该自动启动它。
答案 1 :(得分:0)
sudo apt-get install memcached
If you do not have a compiler on your server, you can download build-essential in order to install memcache:
sudo pecl install memcache
Finally use PECL (PHP Extension Community Library) to install memcache
sudo pecl install memcache
Once you have completed the installation of memcache with PECL on the VPS, add memcached to memcache.ini