memcached append() php ubuntu - 错误协议

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'));
?>

脚本以RES_BAD_PROTOCOL错误消息终止 @append()。它仍然运行 get()。我不知道为什么 memcached 可以正常工作(连接、设置、获取 - 使用正确的“abc”值)而无法用于 append。

它也不能与前置功能一起使用。

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

答案1

哎呀。我刚刚安装了一个非常老版本的 memcached。1.2 左右。从源代码安装了较新的版本。我一定是从 ubuntu 存储库中获取了旧版本。(新版本是 1.4 左右)

不确定添加了 append() 和 prepend 函数的版本。

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

相关内容