Ja, du kan ange en timeout uttryckligen för ett försök att ansluta från ditt php-program till en MySQL-databas med mysqli.
Den är dock lite hårig. När du använder new mysqli()
du använder en pool av återanvändbara anslutningar. Om du vill ställa in en timeout, eller något annat alternativ, måste du använda real_connect
istället, som följande:
$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 );
Det finns en bra förklaring här:https://php.net/manual/en /mysqli.real-connect.php