Sí, puede especificar un tiempo de espera explícito para intentar conectarse desde su programa php a una base de datos MySQL usando mysqli.
Aunque es un poco peludo. Cuando usas new mysqli()
utiliza un conjunto de conexiones reutilizables. Si desea establecer un tiempo de espera, o cualquier otra opción, debe usar real_connect
en su lugar, como el siguiente:
$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 );
Hay una explicación decente aquí:https://php.net/manual/en /mysqli.real-connect.php