这是“无法连接”问题的具体变体。在我的例子中,我只是在我的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数据库,其中有一个帐户“mysql”用于“localhost”。所以在Wordpress的配置中,我输入了用户名和主机名“localhost”。这不起作用,所以在玩了一段时间之后,我尝试将主机名更改为“site2.dev”,突然它工作正常。
这里发生了什么?我知道我的虚拟主机已经设置好了,但我认为他们正在侦听端口80,而不是端口3306,这是MySQL使用的,所以为什么这有关系呢?我确信这是一个简单的解释,所以希望有人可以启发我。
可能怀疑是您的MySQL访问控制配置。 yourhost.foo和localhost是完全不同的,就其而言,它总是在咬人。如果WP存在MySQL用户表条目,主机键入yourhost.foo
而不是localhost
,那就是问题所在。
您是否在设置虚拟主机时编辑/ etc / hosts文件?你可能在事故中删除了“localhost”条目。
因为您的数据库没有监听环回接口(localhost)。