2011-02-06 22 views
2

我們最近移植了一些代碼,我們必須使用PHP的MySQLi擴展而不是普通的mysql。此代碼連接到偶爾可能不響應的數據庫,所以我們設置這個變量上的php.ini:在PHP中,MySQLi中的mysql.connect_timeout對應什麼?

mysql.connect_timeout = 3

如果需要超過3秒以連接到數據庫的方式,它只是放棄。然而,這似乎不適用於MySQLi。 MySQLi的相應設置是什麼?

預先感謝您。

回答

2

您應該按照報告的here使用MYSQLI_OPT_CONNECT_TIMEOUT

下面是從this thread一個小例子:

class mysqli2 extends mysqli 
{ 
    public function __construct($host, $user, $pass, $db) 
    { 
     parent::init(); 
     parent::options(MYSQLI_OPT_CONNECT_TIMEOUT, 5); 
     parent::real_connect($host, $user, $pass, $db); 
    } 
} 
+0

+1對於一個正確的答案,但你要注意,你的代碼是直接從[這個錯誤頁面(http://bugs.php.net採取/bug.php?id=43866)。 – lonesomeday 2011-02-06 00:24:52