PHP正在尝试打开与localhost的连接。由于您的计算机是通过IPv6连接到网络的,因此它首先尝试使用IPv6版本的“
localhost”,即IP地址为:: 1。
http://en.wikipedia.org/wiki/IPv6_address#Special_addresses
:: 1/128
—环回地址是单播本地主机地址。如果主机中的应用程序将数据包发送到该地址,则IPv6堆栈会将这些数据包循环回同一虚拟接口上(对应于IPv4中的127.0.0.0/8)。
看起来您的MySQL服务器没有在监听该地址,而是仅绑定到IPv4地址,因此,一旦PHP无法打开连接,它将回退并尝试通过aka
127.0.0.1的IPv4打开本地主机
我个人更喜欢使用IP地址或使用Windows主机文件或等效于Mac的Mac来定义“假”域名,然后在连接到可解析为IP地址的MySQL时使用这些域名。无论哪种方式,我都可以确切知道将使用IPv4还是IPv6地址。
MySQL和Apache都支持IPv6,但是您必须告诉他们明确使用IPv6地址。对于MySQL,请参见:http : //dev.mysql.com/doc/refman/5.5/en/ipv6-server-
config.html
对于Apache配置,请参见:http :
//httpd.apache.org/docs/2.2/bind.html
Apache支持多个IP地址,因此,如果计算机中的网卡同时具有IPv4和IPv6地址,则可以一次使用这两个地址。MySQL仅支持一个地址。



