首先,memcached和apache+php是两个完全不相关的东西。唯一的问题是php连接到memcached守护进程。
所以,是的,memcached
(注:
d
最后
)必须在尝试使用它之前启动:如果您尝试在memcached服务器不运行时连接到它,您将无法连接——它不会生成新的守护进程或任何东西。
使用一个简单的比较:如果您的apache服务器没有启动,并且您尝试使用浏览器访问它,您将得到一个“无法连接”错误;这与php尝试连接memcached完全相同:它将无法连接。
现在,对于安装过程,这里有几个注意事项,对于您所说的看起来不正常的部分:
在计算机上安装memcached
如果在中使用发行版机制安装,它应该在/etc/in it.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,每次重新启动系统时,都应该自动启动它。