Bare læg
ini_set("default_socket_timeout", 2);
før din PDO()-forbindelsesstreng.
(Testet på Windows, burde også være fint på Linux.)
Hvorfor?
Jager dette gennem manualen:
Mysqlnd-driveren bruger sockets til den underliggende forbindelse, og for at indstille timeouts skal du bruge socket (stream) timeout-funktionerne. (Ref:http://php.net/manual/en/mysqlnd.notes. php )
Hvis du vil have mere kontrol, så kan du måske styre mere specifikt selve stikket:Jeg har ikke testet dette, da det kun er unix. For at indstille den socket, mysqlnd bruger, kan du angive socket ved hjælp af ini-indstillinger (Ref:http://php.net/manual/en/ref.pdo-mysql.connection.php )
Se http://php. net/manual/en/ref.pdo-mysql.php#ini.pdo-mysql.default-socket om den indstilling
Du kan derefter indstille timeoutet ved hjælp af http://php .net/manual/en/function.stream-set-timeout.php
Men sandsynligvis nemmere at indstille standard og derefter nulstille, når du er færdig...