【问题标题】:cannot store values into memcache无法将值存储到内存缓存中
【发布时间】:2011-02-21 19:25:41
【问题描述】:

我在 suse 10.1 上运行 apache+php+memcache。

我可以将 Ok 连接到端口 11211 上的 memcached,但我无法执行 getVersion、添加、获取等操作。

错误信息:

[Thu Jan 21 14:38:15 2010] [error] [client ] PHP Notice: Memcache::add() [function.Memcache-add]: Server localhost (tcp 11211) failed with: Failed reading line from第 13 行 /testmem/index.php 中的流 (0)

如何调试?

【问题讨论】:

  • 你能连接到 memacache 并在 shell 中发出命令吗?
  • 我可以通过 'telnet localhost 11211' 连接到 memcache,但是如何在 shell 中发出命令?
  • 谢谢!我无法在 shell 中发出任何命令(这是在 SLES10 上)我使用 zypper 在 SLES11 上安装了 memcached,一切都很好。

标签: memcached php


【解决方案1】:

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

【讨论】:

    【解决方案2】:

    您可能在没有 ASCII 协议支持的情况下运行 memcached,例如,如果您运行:

    $ memcached -B 二进制

    如果是这种情况,请完全删除 -B 参数,PHP 和 telnet 应该可以工作。

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

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

    你可以通过运行来测试:

    $ memcached -S

    如果 memcached 未使用 SASL 编译,您应该会看到以下输出: "此服务器不支持 SASL。"

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 2012-06-02
      • 1970-01-01
      • 2021-09-09
      • 1970-01-01
      • 2012-11-24
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多