为什么一旦我将主机从“localhost”更新为“mydomain.com”,Wordpress会突然连接到MySQL数据库服务器?

问题描述:

这是“无法连接”问题的特定变体。就我而言,我只是设置了两个虚拟主机在我的httpd.conf监听80端口上的声明如下:为什么一旦我将主机从“localhost”更新为“mydomain.com”,Wordpress会突然连接到MySQL数据库服务器?

 
NameVirtualHost *:80 

<VirtualHost *:80> 
    ServerName site1.dev 
    DocumentRoot /www/site1 
</VirtualHost> 

<VirtualHost *:80> 
    ServerName site2.dev 
    DocumentRoot /www/site2 
</VirtualHost> 

所以从我的理解,http://localhosthttp://site1.dev现在都映射到“/ WWW/site1 /“,当然http://site2.dev映射到它的目录。

这一切都很好。我有一个目前在site2.dev域下玩的WordPress安装。我试图将其配置为与我刚刚设置的MySQL数据库一起使用,该数据库的“localhost”帐户为“mysql”。所以在Wordpress的配置中,我把这个用户名和主机名放在“localhost”中。这不起作用,所以在玩了一段时间之后,我尝试将主机名更改为“site2.dev”,并突然它工作正常。

这是怎么回事?我知道我的虚拟主机已设置好,但我认为他们正在监听端口80,而不是端口3306,这是MySQL使用的端口,所以为什么有关系?我确信有一个简单的解释,所以希望有人能够启发我。

一个可能的嫌疑是你的MySQL访问控制配置。就其而言,yourhost.foo和localhost完全不同,而且这总是让人感到讨厌。如果WP的主机键为yourhost.foo而不是localhost,那么MySQL用户表条目存在,那就是问题所在。

+0

你能详细说一下吗? MySQL访问控制配置究竟是什么意思,以及为什么这两个领域有所不同呢? – Bialecki 2009-02-09 03:44:27

您是否将编辑/ etc/hosts文件作为设置虚拟主机的一部分?意外时你可能已经删除了“localhost”条目。

+0

在此阶段没有更改主机文件。它的两条线都将localhost和site2.dev映射到127.0.0.1。 – Bialecki 2009-02-09 03:39:10

因为您的数据库没有在回送接口(本地主机)上进行侦听。