PHP MYSQL - 127.0.0.1和localhost的区别

14

我在运行OS X的iMac上遇到了一个奇怪的问题。对于我的框架和CMS配置文件,如果我在数据库设置中使用host: localhost,则会产生错误,并且CMS/框架无法连接到数据库。但是,如果我将localhost替换为127.0.0.1,则一切似乎都正常工作。由于localhost被解析为127.0.0.1,因此我想知道可能导致这种行为的php/mysql配置问题是什么。 我在Wordpress、Cake和CodeIgniter中遇到了这个问题。


1
你是否检查了/etc/hosts文件,确认localhost的条目是否正确? - wallyk
有所不同,请参见https://dev59.com/J3A65IYBdhLWcg3wogIb,http://dev.mysql.com/doc/refman/5.6/en/can-not-connect-to-server.html和谷歌 :) - biziclop
1个回答

23

localhost 会使MySQL客户端尝试连接到一个标准目录下的UNIX套接字。如果该套接字不存在或在其他位置,则无法连接。127.0.0.1 始终使用TCP连接。

请参见手册, C.5.2.2. 无法连接到 [本地] MySQL服务器


网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接