为什么“localhost”不能作为MySQL主机,但“MyPCName”呢?

时间:2012-03-10 23:01:43

标签: php mysql localhost

我正试图在Windows / IIS 7.5上从PHP(WordPress)连接MySQL,这就是:

define('DB_HOST', 'DevPC');        // -> works
define('DB_HOST', 'localhost');    // -> connection error

奇怪的是,在另一台机器(Windows Server + IIS 7.5)上,localhost工作得很好。是什么导致这个?一些PHP设置? MySQL设置?

3 个答案:

答案 0 :(得分:3)

  

在Unix上,MySQL程序特别对待主机名localhost,这种方式可能与您期望的与其他基于网络的程序相比有所不同。对于与localhost的连接,MySQL程序尝试使用Unix套接字文件连接到本地服务器。即使给出--port-P选项来指定端口号,也会发生这种情况。

而不是localhost使用127.0.0.1

答案 1 :(得分:2)

您应该从连接中提供错误输出。您确定它不是用户访问问题吗?请记住,连接到mysql时user@DevPCuser@localhost不同。即使两个主机名都转换为相同的IP。

答案 2 :(得分:0)

在Windows中,您可以查看

c:\windows\system32\drivers\etc\hosts

知道该行

127.0.0.1

localhost就在那里。

/etc/resolv.conf in linux