Я использую apache + php + memcache для suse 10.1.
Я могу подключить Ok к memcached на порту 11211, но я не могу делать getVersion, добавлять, получать и т. Д.
Сообщение об ошибке:
[Чт янв 21 14:38:15 2010] [ошибка] [клиент] PHP Примечание: Memcache :: add () [function.Memcache-add]: Ошибка localhost сервера (tcp 11211): Ошибка строки чтения из потока (0 ) в /testmem/index.php в строке 13
Как я могу отладить это?
Попробуйте 127.0.0.1. Убедитесь, что ваш брандмауэр позволяет подключиться к порту 11211. Убедитесь, что сервер Memcached запущен и запущен на порту 11211.
Возможно, вы используете memcached без поддержки протокола ASCII, например, если вы запустили:
$ memcached -B двоичный
Если это так, полностью удалите аргумент -B, и PHP и telnet должны работать.
Также возможно, что ваш memcached был скомпилирован с поддержкой SASL, которая отключила протокол ASCII, который требуется PHP для подключения к memcached.
Это объясняет, почему оно работает, но вы не можете выдавать команды ASCII через telnet (или PHP).
Вы можете проверить это, выполнив:
$ memcached -S
Вы должны увидеть этот вывод, если memcached не был скомпилирован с SASL: «Этот сервер не построен с поддержкой SASL».