我已经使用Memcache和PHP很长时间了,一切都很好,但是现在每10到15分钟我就会收到此错误。
MemcachePool::get(): Server localhost (tcp 11211, udp 0) failed with: Network timeout
我以为可能是由于防火墙或类似原因造成的,所以我关闭了防火墙,但并没有停止发出此消息。
发生每个错误后,我必须重新启动内存缓存。
并且它是Memcache,而不是在Windows 7机器上带有D的PHP 5.4 MSVC9 TS版本。我不明白现在如何处理此[[Network Timeout问题。该如何解决?
当前,我目前只有一台装有Windows 7的本地计算机,因此无法建立Memcache群集或安装Memcache(D)。不确定这是内存缓存后台驻留程序还是客户端问题。
我是我的情况,问题是localhost
解析为[::1]
:
>ping localhost
Pinging SURFACE-PRO-FRA [::1] with 32 bytes of data:
默认情况下,Memcached仅侦听127.0.0.1。要解决此问题,您可以使Memcached也可以在ipv6上进行监听:
$ sudo vi /etc/memcached.conf
替换
-l 127.0.0.1
with:
-l 127.0.0.1,::1
然后
sudo service memcached restart
或者,使您的应用连接到127.0.0.1而不是localhost。