Memcache localhost连接奇怪

时间:2010-06-06 00:51:35

标签: windows-xp memcached wamp

当我尝试使用此代码连接到memcache时:

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

调用以“无法连接”错误消失,但如果我使用localhost的IP:

$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 个答案:

答案 0 :(得分:2)

正如Conspicuous Compiler建议的那样,运行“ping localhost”显示localhost正在解析为 :: 1 而不是 127.0.0.1 。对于使用IPv6的网络来说,这是正确的行为,但正是这种情况令memcached感到困惑。因为我根本不需要IPv6,所以我卸载了它;

  

右键单击网络连接   >属性>突出显示“Microsoft TCP / IP版本6”>卸载

又好了!

请注意;您可以通过将 :: 1 映射到 localhost 作为主机文件中的条目来破坏性地解决问题。我没试过......