2010-01-21 68 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上運行。

相關問題