Локальная связь с Memcache - PullRequest
1 голос
/ 06 июня 2010

Когда я пытаюсь подключиться к memcache, используя этот код:

$memcache = new Memcache;
$memcache->connect('localhost', 11211) or die ("Could not connect");

Звонок прерывается с ошибкой «Не удалось подключиться», но если я использую IP-адрес localhost:

$memcache = new Memcache; 
$memcache->connect('127.0.0.1', 11211) or die ("Could not connect");

Это работает! Так в чем моя проблема? Ну, этот новый компьютер - единственная среда разработки, которую я настроил, которая чувствительна к этой разнице. Я не собираюсь менять настройки любого кода для решения проблемы, связанной с компьютером, но я не могу понять, что может быть причиной такого поведения.

Я использую XP, memcached 1.2.4 и wampserver 2. Я проверил файл hosts; у него есть запись для localhost, и кэш dns очищен ... Есть идеи?

1 Ответ

2 голосов
/ 06 июня 2010

Запуск «ping localhost», как предложил Conspicuous Compiler, показал, что localhost разрешается в :: 1 вместо 127.0.0.1 . Это правильное поведение для сети, использующей IPv6, но именно это сбивает с толку memcached. Поскольку мне вообще не требовался IPv6, я удалил его;

Щелкните правой кнопкой мыши сетевое соединение > Свойства> Выделите «Microsoft TCP / IP version 6»> Удалить

Все хорошо снова!

Обратите внимание; может случиться так, что вы сможете решить проблему менее разрушительно, сопоставив :: 1 с localhost как запись в вашем файле hosts. Я не пробовал ...

...