【发布时间】:2013-11-14 06:47:34
【问题描述】:
我在这里给你一些有趣的东西,因为我研究了所有的 stackoverflow,但没有人问过类似的问题! 让我们来看看描述:
我正在尝试使用 php 将一个简单的 mysql 数据库连接到我的服务器。 从现在开始,我可以说 PDO 和 mysql_connect 方法都存在问题。 现在我给你解释一下:
在典型的“TRY-CATCH”块中,我想测试一些异常的错误消息。所以我做了如下的事情:
try {
$db = new PDO("mysql:host=localhost;dbname=shirts4mike;","root","ffredda");
$db -> setAttribute(PDO::ATTR_ERRMODE, PDO::ERRMODE_EXCEPTION);
$db -> exec("SET NAMES 'utf8'");
} catch (Exception $e) {
echo "Could not connect to the database.";
exit;
}
现在,为了测试错误信息,我尝试将主机更改为:
host=Wronghost;
并刷新了在本地服务器 (apache2) 上运行的页面。
我们来解决这个问题!在我的浏览器捕获异常并加载错误消息之前大约需要两分钟。
我快疯了!我不知道这取决于什么!我认为这是服务器在放弃并抛出异常之前多次尝试连接到数据库!但是如果这是问题,如何限制这个尝试次数?如果这不是问题,那么有人知道在哪里寻找和解决它?谁负责? mysql?阿帕奇? PHP 代码(我对此表示怀疑)?
我非常感谢任何帮助。真的。 谢谢你,希望很快能收到人的来信!
--法布里齐奥
【问题讨论】:
-
问题标题明显是对测试结果的误解。除了执行测试,正确解释结果也很重要
-
问题是
Wronghost的 DNS 查找尝试使用错误的 ip。 -
这可能不是 DNS 查找 - 否定查找仍然应该(相对)即时。只是连接尝试超时,与异常无关。
标签: php mysql exception pdo apache2