Назад | Перейти на главную страницу

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.

Плохой протокол означает, что демон не понимает команду, в отличие от ошибки сервера или клиента ... что, как я считаю, является другим кодом ошибки.