【问题标题】:Check external server DB availability with php script and connection使用 php 脚本和连接检查外部服务器数据库的可用性
【发布时间】:2019-07-26 08:41:00
【问题描述】:

如何在外部服务器/数据库上捕获 mysql_connect 的超时错误?

我正在尝试在我的第二台服务器上编写一个脚本来监控另一台服务器是否在线。而且我希望能够连接到它的数据库(不仅仅是检查 .html 文件是否已交付)。

所以我连接到外部服务器 (mysql_connect) 并执行一个简单的查询。 但我了解到,当服务器真正关闭时,mysql_connect() 将永远挂起,直到脚本超时。

有什么解决办法吗?比如为mysql_connect设置时间限制。

如果mysql_connect 无法在 2-5 秒内连接到数据库,我想抛出一个错误(因为如果发生这种情况,服务器真的很忙并且出了点问题) 有什么想法吗?

【问题讨论】:

标签: php mysql timeout try-catch connect


【解决方案1】:

我认为在这种情况下更适合您的是使用 mysqli_real_connect(),特别是因为您将它用于外部服务器数据库,它会为您提供更多选项,您可以查看文档以获取更多信息。 它将为您提供一种设置超时的方法,如下所示:

if (!mysqli_options($link, MYSQLI_OPT_CONNECT_TIMEOUT, 5)) {
die('Setting MYSQLI_OPT_CONNECT_TIMEOUT failed');}

mysqli_real_connect

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 2011-03-26
    • 2011-04-16
    • 2018-02-11
    • 2014-09-16
    • 2014-02-28
    • 2016-06-30
    • 1970-01-01
    • 2023-03-25
    相关资源
    最近更新 更多