【发布时间】:2011-03-22 21:44:41
【问题描述】:
我正在本地开发并连接到远程 mysql 服务器。我一直在我的本地机器(WinXP)上使用 IIS,但现在改用 Apache。迁移到 Apache 后,我的大部分 PHP 站点都可以正常运行。
但是 - 当 mysqli 尝试连接到远程数据库时,我得到:
(HY000/2003):无法连接到 '... 上的 MySQL 服务器: **' (10060)
我知道服务器正在接受来自我的 IP 的连接,因为我能够使用 MySQL Workbench 从本地计算机连接到同一台服务器。
我也知道我与 mysqli 一起使用的数据库连接详细信息是正确的,因为我在 IIS 上运行时使用了相同的详细信息而没有问题,发生的唯一变化是我从 IIS 移动到 Apache。
当我的本地防火墙被禁用时,这个问题仍然存在。
我对 Apache 的使用经验很少,是否有我遗漏的配置设置阻止我连接到远程数据库,或者某些东西正在破坏/隐藏我正确 IP 的报告?
感谢您的帮助,我在这里抓着稻草......
【问题讨论】:
-
如果您单独安装了 Apache,您可能没有正确安装 MySQL 模块。安装 WAMP 或 XAMP,它将为您执行 Apache、PHP、MySQL! :)
-
您能展示一下您使用 mysqli 连接到 MySQL 的 PHP 代码吗?
-
$mysqli_connection = new mysqli($db_host, $db_user, $db_pwd, $_db);是我使用的代码。 -
感谢 WAMP/XAMP 的建议,我已经考虑过了,但会先等待看看是否有更简单的修复方法——我的本地机器上不需要 MySQL