mysql - 为什么我将主机从 "localhost"更新到 "mydomain.com"后,Wordpress 突然可以连接到 MySQL 数据库服务器?

标签 mysql apache wordpress virtualhost

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

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,而不是 MySQL 使用的端口 3306,那么这有什么关系呢?我相信有一个简单的解释,所以希望有人能启发我。

最佳答案

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

关于mysql - 为什么我将主机从 "localhost"更新到 "mydomain.com"后,Wordpress 突然可以连接到 MySQL 数据库服务器?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/527065/

相关文章:

mysql - 如何更改多个表中的字段信息

mysql 查询 SELECT x WHERE x.y NOT IN (SUBQUERY) 不起作用

mysql - 根据列的不同值将mysql表中的记录计为不同的列

python - apache prefork/mod_wsgi 产生的进程计数看似过去的配置

linux - 哪些目录应该放在 Linux 服务器 Amazon EC2 的新卷中

java - 无法与位于本地主机 :8000 的服务器建立连接

javascript - 如何通过Javascript函数调用PHP函数来更新mysql表中的数据?

css - Genesis 框架中的 wp_dequeue_style 不起作用

image - wordpress 是否应该通过 https 自动加载图像?

jQuery Ajax - 检查字段后如何继续提交表单