Po prostu wstaw
ini_set("default_socket_timeout", 2);
przed ciągiem połączenia PDO().
(Testowane w systemie Windows, powinno być również w porządku w systemie Linux.)
Dlaczego?
Ściganie tego przez instrukcję:
Sterownik mysqlnd używa gniazd dla bazowego połączenia, a aby ustawić limity czasu, musisz użyć funkcji limitu czasu gniazda (strumienia). (Ref:http://php.net/manual/en/mysqlnd.notes. php )
Jeśli chcesz mieć większą kontrolę, możesz być w stanie dokładniej kontrolować rzeczywiste gniazdo:nie testowałem tego, ponieważ jest to tylko uniks. Aby ustawić gniazdo, którego używa mysqlnd, możesz określić gniazdo za pomocą ustawień ini (Ref:http://php.net/manual/en/ref.pdo-mysql.connection.php )
Zobacz http://php. net/manual/en/ref.pdo-mysql.php#ini.pdo-mysql.default-socket o tym ustawieniu
Możesz wtedy ustawić limit czasu za pomocą http://php .net/manual/en/function.stream-set-timeout.php
Ale prawdopodobnie łatwiej ustawić domyślne, a następnie zresetować, gdy skończysz...