与数据库的连接非常脆弱,因此我尝试在建立连接之前测试连接。我找到了pg_connect
和mysql_ping
以及how-do-i-ping-the-mysql-db-and-reconnect-using-pdo,但没有一个与我可以使用的MSSQL
或函数有任何关系。
我可以在连接之前测试数据库吗?
答案 0 :(得分:0)
您可以将超时设置为非常小的数字,并调用类似
的内容SELECT 1;
或
SELECT GETDATE();
看看,如果有一些结果回来......
如果连接断开,这些微小的请求也应该中断。
如果脆弱并不意味着损坏,您可以测量标准调用并比较执行速度......
答案 1 :(得分:0)
您可以尝试ping服务器+相应的端口以查看服务器是否接受连接。
$host = '127.0.0.1'; // ip address, could be localhost
$port = 1433; // your mssql port
$timeout = 1; //time to wait in seconds for response
if($fp = fsockopen($host,$port,$errCode,$errStr,$timeout))
{
// Server is OK - responding
} else {
// Server not respoded on given port in given time limit
}
fclose($fp);