Mysql
 sql >> Datenbank >  >> RDS >> Mysql

Kann PHP mysqli eine Zeitüberschreitung beim Verbindungsversuch festlegen?

Ja, Sie können explizit ein Timeout für einen Verbindungsversuch von Ihrem PHP-Programm zu einer MySQL-Datenbank mit mysqli angeben.

Es ist allerdings etwas haarig. Wenn Sie new mysqli() verwenden Sie verwenden einen Pool wiederverwendbarer Verbindungen. Wenn Sie eine Zeitüberschreitung oder eine andere Option festlegen möchten, müssen Sie real_connect verwenden stattdessen wie folgt:

$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 );

Hier gibt es eine anständige Erklärung:https://php.net/manual/en /mysqli.real-connect.php