2014-11-06 76 views

回答

8

是的,您可以指定一个超时显式地尝试使用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; 

有这里有一个体面的解释:http://php.net/manual/en/mysqli.real-connect.php

+0

这是完美的。非常感谢。我没有解决Web应用程序中的数据库事件。现在我可以检测到超时并切换到从站数据库。干杯! – Peter 2016-10-22 10:25:44