我有这行连接到MySQL数据库,只是想知道是否有办法为连接尝试设置超时?
$db = new mysqli($server, $usr, $passwd, $dbname);
是的,您可以显式地指定一个超时,以便尝试使用mysqli从php程序连接到MySQL数据库。
不过它有点多毛。当您使用new mysqli()
时,您将使用一个可重用连接池。如果您想设置超时或任何其他选项,则需要使用real_connect
,如下所示:
$timeout = 30; /* thirty seconds for timeout */
$link = mysqli_init( );
$link->options( MYSQLI_OPT_CONNECT_TIMEOUT, $timeout ) ||
die( 'mysqli_options croaked: ' . $link->error );
$link->real_connect($server, $usr, $passwd, $dbname) ||
die( 'mysqli_real_connect croaked: ' . $link->error );
这里有一个不错的解释:https://php.net/manual/en/mysqli.real-connect.php