Запустить lsof -i
от имени пользователя root и убедиться, что демон memcache работает на указанном вами порту.
Отформатировано для корректности:
memcached 16526 corneliu 31u IPv4 207975 0t0 TCP *:memcache (LISTEN)
memcached 16526 corneliu 32u IPv6 207976 0t0 TCP *:memcache (LISTEN)
memcached 16526 corneliu 33u IPv4 207979 0t0 UDP *:memcache
memcached 16526 corneliu 34u IPv6 207980 0t0 UDP *:memcache
Таким образом, сервер memcache прослушивает TCP и UDP для IPv4 и IPv6. Я предполагаю, что запись / etc / services для memcache - это порт 11211. Служба прослушивает.
Я бы сослался на этот вопрос: https://stackoverflow.com/ questions / 6045187 / memcache-Connects-but-doesnt-response-to-any-command и убедитесь, что сервер отвечает на команды, которые вы отправляете через telnet или netcat. Вероятно, также будет очень полезно, если вы запустите tcpdump или wirehark, чтобы захватить сетевой трафик и действительно увидеть, какие пакеты перемещаются.
Выполняйте отладку без предварительного изменения конфигурации кэша памяти. Попытка изменить адрес привязки сервера в соответствии с этим вопросом выше должна быть последним, что вы делаете. Сообщите мне о своем прогрессе.
у многих были хорошие результаты при использовании pconnect вместо connect
$memcache = new Memcache;
$memcache->pconnect('127.0.0.1', 11211);
echo $memcache->getVersion();
подробнее здесь http://hostingfu.com/article/memcachepoolget-server-failed-with-network-timeout-possible-fixes
Просто запустите демон memcache, используя эту команду в терминале
memcached -d -m 512 -l 127.0.0.1 -p 11211 -u nobody
, где
-m
для памяти, -p
для порта, -l
для IP-адреса сервера, -u
для пользователя