关于Windows下IIS+PHP+Mysql 环境响应慢的问题
由于博客的程序调整出现了主机出现了类似的问题,特写一篇文章记录下:
在命令行执行 ping localhost 返回的竟然不是IP地址,出现的::1应该如何解决,有什么影响呢?
在Windows + IIS +PHP+Mysql的环境下,会出现PHP网站访问过慢,影响访问者的感知。当然如果你的PHP版本是5.3以下的,可能不会类似问题,原因是PHP5.3以上支持IPv6协议,但是大家的服务器未使用IPv6,当访问PHP的时候会连接MySQL的地址为localhost,系统会会先用IPv6连接,但又没有IPv6所以要等到IPv6失败了再转到IPv4这样绕了一圈速度当然慢了,那么我们就要着手解决这个问题了:
1、打开命令提示符:输入命令netsh interface ipv6 show prefixpolicies,查看ipv6的优先级:
请注意,ipv6地址(::/0)优先于ipv4地址(::/96,::ffff:0:0/96),因此我们可以制定策略,使ipv6不会比任何ipv4地址有利。其中,标签表示优先级,0表示优先级最高,依次类推。
2、需要设置使::/96、::ffff:0:0/96的优先级高于::/0和::1/128,在命令行中依次设置优先级:
netsh int ipv6 set prefix ::/96 50 0
netsh int ipv6 set prefix ::ffff:0:0/96 40 1
netsh int ipv6 set prefix 2002::/16 30 2
netsh int ipv6 set prefix 2001::/32 20 3
netsh int ipv6 set prefix ::1/128 10 4
netsh int ipv6 set prefix ::/0 5 5
3、执行netsh interface ipv6 show prefixpolicies命令完成之后查看优先级如下:
4、再执行命令ping localhost,已经可正常访问IP v4地址了,同样,打开网站也利索多了。
声明:本文由云召博客收集发布,如有侵权,请联系我们,我们将第一时间进行处理。