1

这是“无法连接”问题的特定变体。就我而言,我刚刚在我的 httpd.conf 中设置了两个虚拟主机,监听端口 80。声明如下所示:

名称虚拟主机 *:80

<虚拟主机 *:80>
    服务器名称 site1.dev
    DocumentRoot /www/site1
</虚拟主机>

<虚拟主机 *:80>
    服务器名称 site2.dev
    DocumentRoot /www/site2
</虚拟主机>

所以据我了解,http://localhosthttp://site1.dev现在都映射到“/www/site1/”,当然http://site2.dev映射到它的目录。

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

这里发生了什么?我知道我的虚拟主机已设置好,但我认为它们正在侦听端口 80,而不是端口 3306,这是 MySQL 使用的,那么这有什么关系呢?我相信有一个简单的解释,所以希望有人能启发我。

4

3 回答 3

4

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

于 2009-02-09T03:40:54.660 回答
0

您是否在设置虚拟主机时编辑了 /etc/hosts 文件?您可能意外删除了“localhost”条目。

于 2009-02-09T03:34:39.823 回答
0

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

于 2009-02-09T04:03:58.177 回答