这是“无法连接”问题的一个具体变体。就我而言,我刚刚在我的 httpd.conf 中设置了两个虚拟主机,监听端口 80。声明如下所示:
NameVirtualHost *:80 <VirtualHost *:80> ServerName site1.dev DocumentRoot /www/site1 </VirtualHost> <VirtualHost *:80> ServerName site2.dev DocumentRoot /www/site2 </VirtualHost>
据我了解,http://localhost和 http://site1.dev现在都映射到“/www/site1/”,当然还有 http://site2.dev映射到它的目录。
这一切都很好。我在 site2.dev 域下有一个正在玩的 Wordpress 安装。我正在尝试将其配置为与我刚刚设置的 MySQL 数据库一起使用,该数据库有一个用于“localhost”的帐户“mysql”。因此,在 Wordpress 的配置中,我将用户名和主机名输入为“localhost”。这不起作用,所以在玩了一会儿之后,我尝试将主机名更改为“site2.dev”,突然它就可以正常工作了。
这是怎么回事?我知道我的虚拟主机已设置,但我认为它们正在监听端口 80,而不是 MySQL 使用的端口 3306,那么这有什么关系呢?我相信有一个简单的解释,所以希望有人能启发我。
最佳答案
可能怀疑您的 MySQL 访问控制配置。 yourhost.foo 和 localhost 是完全不同的,就它而言,这总是在咬人。如果 WP 存在 MySQL 用户表条目,主机键控到 yourhost.foo
而不是 localhost
,那么这就是问题所在。
关于mysql - 为什么我将主机从 "localhost"更新到 "mydomain.com"后,Wordpress 突然可以连接到 MySQL 数据库服务器?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/527065/