В PHP, что соответствует mysql.connect_timeout в MySQLi? - PullRequest
3 голосов
/ 06 февраля 2011

Мы недавно портировали некоторый код, нам нужно использовать расширение MySQLi для PHP вместо обычного mysql. Этот код подключается к базе данных, которая иногда может не отвечать, поэтому мы устанавливаем эту переменную в PHP.ini:

mysql.connect_timeout = 3

Таким образом, если подключение к этой базе данных занимает более 3 секунд, оно просто сдается. Однако, похоже, это не работает для MySQLi. Какой будет соответствующая настройка для MySQLi?

Заранее спасибо.

1 Ответ

2 голосов
/ 06 февраля 2011

Вы должны использовать MYSQLI_OPT_CONNECT_TIMEOUT как сообщается здесь .

Вот небольшой пример из этой темы :

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 );
    }
}
...