Stačí zadat
ini_set("default_socket_timeout", 2);
před vaším připojovacím řetězcem PDO().
(Testováno na Windows, mělo by být v pořádku i na Linuxu.)
Proč?
Projděte si to manuálem:
Ovladač mysqlnd používá pro základní připojení sokety a pro nastavení časových limitů musíte použít funkce časového limitu soketu (streamu). (Viz:http://php.net/manual/en/mysqlnd.notes. php )
Pokud chcete větší kontrolu, pak byste mohli být schopni ovládat konkrétněji skutečný socket:Netestoval jsem to, protože je to pouze unix. Chcete-li nastavit soket, který mysqlnd používá, můžete určit soket pomocí nastavení ini (viz http://php.net/manual/en/ref.pdo-mysql.connection.php )
Viz http://php. net/manual/en/ref.pdo-mysql.php#ini.pdo-mysql.default-socket o tomto nastavení
Časový limit pak můžete nastavit pomocí http://php .net/manual/en/function.stream-set-timeout.php
Ale pravděpodobně snazší nastavit výchozí a poté resetovat, až budete hotovi...