Mysql
 sql >> Database >  >> RDS >> Mysql

PHP mysqli può impostare il timeout durante il tentativo di connessione?

Sì, puoi specificare un timeout in modo esplicito per un tentativo di connessione dal tuo programma php a un database MySQL usando mysqli.

È un po' peloso, però. Quando usi new mysqli() utilizzi un pool di connessioni riutilizzabili. Se vuoi impostare un timeout, o qualsiasi altra opzione, devi usare real_connect invece, come il seguente:

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

C'è una spiegazione decente qui:https://php.net/manual/en /mysqli.real-connect.php