我正试图在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设置?
答案 0 :(得分:3)
在Unix上,MySQL程序特别对待主机名
localhost
,这种方式可能与您期望的与其他基于网络的程序相比有所不同。对于与localhost的连接,MySQL程序尝试使用Unix套接字文件连接到本地服务器。即使给出--port
或-P
选项来指定端口号,也会发生这种情况。
而不是localhost
使用127.0.0.1
。
答案 1 :(得分:2)
您应该从连接中提供错误输出。您确定它不是用户访问问题吗?请记住,连接到mysql时user@DevPC
与user@localhost
不同。即使两个主机名都转换为相同的IP。
答案 2 :(得分:0)
在Windows中,您可以查看
c:\windows\system32\drivers\etc\hosts
知道该行
127.0.0.1
localhost就在那里。
/etc/resolv.conf in linux