memcached append()php ubuntu – 不好的协议

我正在运行ubuntu的gutsy(7.1),php5,我想让memcached在本地运行。 我按照文档安装了所有东西:memcached守护进程,php PECL扩展,libevent等

但是现在我只能运行memcached append()的一半示例脚本:

<?php $m = new Memcached(); $m->addServer('localhost', 11211); $m->setOption(Memcached::OPT_COMPRESSION, false); $m->set('foo', 'abc'); $m->append('foo', 'def'); var_dump($m->get('foo')); ?> 

该脚本终止@ append()与RES_BAD_PROTOCOL错误消息。 它仍然运行get()。 我不知道为什么memcached会正常工作(连接,设置,得到 – 与'abc'的正确值),而不是工作追加。

它也不适用于prepend。

我相信我的设置是正确的,但是我不确定。 也许在版本的依赖关系之间存在兼容性问题?

哎呦。 我刚安装了一个非常旧的memcached版本。 1.2的东西。 从源头安装新的。 我必须从Ubuntu的存储库中获得旧的。 (新是1.4版本的东西)

不知道哪个版本的append()和prepend函数被添加。

错误的协议意味着守护进程不理解命令,与服务器或客户端错误….我相信是一个不同的错误代码。

协议追加实际上更多的是协议内使用的命令,而不是实际的独立协议。