У меня RHEL6.1 с php. Я установил libmemcached-1.0.2 из src.rpm и скомпилировал php-memcached 2.0.0b2. Если я пытаюсь установить SaslAuthData ('user', 'pass') и писать что-нибудь в memcached (сервер Couchbase), я всегда получаю код возврата 5 (WRITE FAILURE). Комментирование setSaslAuthData приводит к работе с ведром по умолчанию. Но мне нужно заставить его работать с SASL. Есть идеи, что не так с моей настройкой?
P.S. конечно бинарный протокол включен
При настройке корзины вы можете указать пароль. Затем используйте SASL для подключения к серверу Couchbase, используя имя корзины в качестве имени пользователя и пароль, который вы указали ранее.
Расширенная, 11.12.2011
Я читал источник расширения memcached. В общем, кажется, что это не так уж много вещей, которые можно сделать неправильно на стороне PHP.
Дополнительный вопрос:
error_log
? Например. «Не удалось инициализировать библиотеку SASL». или что-то вроде того? memcached.use_sasl = 1
в твоем php.ini
?Я не эксперт по Couchbase Server, хотя знаю, что такое CouchDB. Если вам нужно его отладить, я бы попытался выяснить, как поднять уровень журнала до чего-то вроде DEBUG
а затем посмотрите, сможете ли вы собрать какую-нибудь полезную информацию.
Я думаю, если это не одна из первых двух вещей, то эта ошибка не на стороне PHP, а, возможно, в версии Couchbase Server. Похоже, что ошибка записи - это то, что выдает libmemcached, поэтому это означает, что она поступает напрямую с сервера Couchbase.
Вы уверены, что memcached скомпилирован с использованием sasl?
$ memcached -S
Вы должны увидеть этот вывод, если memcached не был скомпилирован с SASL: «Этот сервер не построен с поддержкой SASL».