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