事情是这样的本人升级了一下 php 的版本,然后把之前的配置直接 cp 过来后,wordpress 显示建立数据库连接出错,我再三检查各项配置确认无误,然而还是无法连接数据库。最后把 wp-config.php 中 DB-HOST 的 localhost 改成 127.0.0.1 后恢复正常(之前 php 版本 7.0,DB-HOST 是 localhost 一直正常,本次升级到了 7.3 )。
1
noe132 2020-05-13 22:17:43 +08:00
localhost 是 hostname,需要被 resolve 到一个 IP,就像其他域名一样
127.0.0.1 是 ip,不需要 resolve 你的问题大概是 resolve 失败或者 resolve 到了别的东西 |
2
noe132 2020-05-13 22:19:04 +08:00
也有可能 mysql 把 localhost 当作 unix socket 来处理了
|
3
msg7086 2020-05-13 22:21:31 +08:00 2
localhost 是主机名,127.0.0.1 是 IP 。
而你现在遇到的是 MySQL 中的 localhost 。MySQL 中的 localhost 是一个特殊默认值,指使用 Unix Socket 来连接,而非使用网络连接。所以 MySQL 中的 localhost 不是指 localhost 网络主机。 |
5
zcxzzz OP @msg7086 也就是说在其他地方比如 ping localhost 他会找到 127.0.0.1 而在 mysql 中 localhost 是个特殊值,找不到 127.0.0.1 ?可以这样理解吗
|
6
ajaxfunction 2020-05-13 22:31:36 +08:00
@zcxzzz
mysql 中在 linux 下,是套接字 类似进程的一个东西 |
7
cmostuor 2020-05-13 22:38:06 +08:00 via Android
建议检查一下你的 hosts 文件确保 localhost 是解析到 127.0.0.1 上
|
8
Tink 2020-05-13 22:42:26 +08:00 via iPhone
/etc/hosts 里面 localhost 需要解析到 127.0.0.1
|
9
msg7086 2020-05-13 23:51:00 +08:00
|
10
xiadong1994 2020-05-14 00:06:30 +08:00 via iPhone
准确的来说是 socket file
|