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.
Я верю, что у меня правильная настройка, но я не уверен. Может быть, есть проблемы совместимости между версиями зависимостей?
2 ответа
Упс. Я только что установил очень старую версию memcached. 1,2 что-то. Установлен новый из источника. Должно быть, я получил старый из хранилища Ubuntu. (новая версия 1.4 что-то)
Не уверен, к какой версии были добавлены функции append() и prepend.
Плохой протокол означает, что демон не понимает команду, в отличие от ошибки сервера или клиента... что я считаю другим кодом ошибки.
Добавление протокола - это скорее команда, используемая в протоколе, а не отдельный протокол.