2010-01-21 58 views
4

我在suse 10.1上运行apache + php + memcache。无法将值存储到memcache中

我可以连接确定以memcached的端口11211,但我不能做getVersion,添加,获取等

错误消息:

[星期四1月21日十四时38分15秒2010] [错误] [客户端] PHP注意:Memcache :: add()[function.Memcache-add]:服务器本地主机(tcp 11211)失败,线路13上的/testmem/index.php中的流(0)

我该如何调试?

+0

您可以连接到memacache并在shell中发出命令吗? – 2010-01-21 07:17:21

+0

我可以通过'telnet localhost 11211'连接到memcache,但是如何在shell中发出命令? – 2010-01-21 07:28:56

+0

看到这个:http://lzone.de/articles/memcached.htm – 2010-01-21 07:36:50

回答

0

您可能正在运行的memcached没有ASCII协议的支持,比如,如果你跑:

$ memcached的二进制-B

如果是这种情况,删除-B的说法完全是,和PHP和telnet应该管用。

也可能您的memcached是在启用SASL支持的情况下编译的,它禁用了PHP连接到memcached所需的ASCII协议。

这可以解释为什么它正在运行,但不能通过telnet(或PHP)发出ASCII命令。

您可以通过运行测试:

$ memcached的-S

你应该看到这个输出,如果memcached的不是用SASL编译:“此服务器不支持SASL建”

1

试用127.0.0.1。 确保您的防火墙允许连接到端口11211. 确保您的Memcached服务器已启动并在端口11211上运行。

相关问题