我在suse 10.1上运行apache + php + memcache。
我可以在端口11211上连接Ok到memcached,但我不能做getVersion,add,get等。
错误讯息:
[Thu Jan 21 14:38:15 2010] [错误] [客户端] PHP注意:Memcache :: add()[function.Memcache-add]:服务器localhost(tcp 11211)失败:读取行失败第13行/testmem/index.php中的流(0)
我该如何调试?
答案 0 :(得分:1)
尝试使用127.0.0.1。 确保您的防火墙允许连接到端口11211。 确保您的Memcached服务器已在端口11211上启动并运行。
答案 1 :(得分:0)
您可能正在运行没有ASCII协议支持的memcached,例如运行:
$ memcached -B binary
如果是这种情况,请完全删除-B参数,PHP和telnet应该可以正常工作。
您的memcached也可能在启用SASL支持的情况下编译,这会禁用PHP连接到memcached所需的ASCII协议。
这可以解释为什么它正在运行,但你不能通过telnet(或PHP)发出ASCII命令。
您可以通过运行以下来测试:
$ memcached -S
如果未使用SASL编译memcached,您应该看到此输出: “此服务器不是使用SASL支持构建的。”