Может ли php mysqli установить время ожидания при попытке подключения?

Привет У меня есть эта линия для подключения к MySQL DB и просто интересно, если есть способ установить время ожидания для попытки подключения? Благодарю.

$db = new mysqli($server, $usr, $passwd, $dbname);

4

Решение

Да, вы можете явно указать тайм-аут для попытки подключения из вашей php-программы к базе данных MySQL с помощью mysqli.

Хотя это немного волосато. Когда вы используете 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

11

Другие решения

Других решений пока нет …

По вопросам рекламы [email protected]