【发布时间】:2015-12-01 12:45:51
【问题描述】:
我尝试通过 PDO 连接到每个 IP 地址的另一个数据库服务器 (MySQL)。
$db = new PDO('mysql:host=IP-ADDRESS;dbname=AAA', 'USER', 'XXXXX');
我在这里伪造了 IP 地址和用户,这不是错误 ;)
但无论出于何种原因,PDO 都会进行一些疯狂的反向 DNS 查找,并最终连接到一个完全不同的服务器,该服务器具有另一个 IP 地址和其他域,因为 PDO 的反向 dns 查找会发现,每个 A 记录都分配了另一个 IP 地址和其他域在这里。
PDO 抛出特定异常:
SQLSTATE[28000] [1045] Access denied for user 'USER'@'WWW.ANOTHER-SERVER.COM'
通过 mysql-client 在终端中连接时,一切都按预期工作。
- 如何避免 PDO 进行反向 DNS 查找?
- 我如何告诉 PDO 它应该根据参数中给出的 IP 地址进行连接?
- 怎么会,这种反向 DNS 查找如此错误?
/etc/hosts 中没有特定的条目,这可能是造成这种情况的根本原因。
【问题讨论】:
-
看来我也有同样的问题。接受的答案并没有真正说明它是如何修复的。你能解决它吗?