Просто поставете
ini_set("default_socket_timeout", 2);
преди вашия PDO() низ за свързване.
(Тестван на Windows, трябва да е добре и в Linux.)
Защо?
Преследване на това чрез ръководството:
Драйверът на mysqlnd използва сокети за основната връзка и за да зададете изчакване, трябва да използвате функциите за изчакване на сокет (поток). (Реф:http://php.net/manual/en/mysqlnd.notes. php )
Ако искате повече контрол, тогава може да сте в състояние да контролирате по-конкретно действителния сокет:не съм тествал това, тъй като е само unix. За да зададете сокета, който mysqlnd използва, можете да посочите сокета, като използвате ini настройките (Ref:http://php.net/manual/en/ref.pdo-mysql.connection.php )
Вижте http://php. net/manual/en/ref.pdo-mysql.php#ini.pdo-mysql.default-socket за тази настройка
След това може да сте в състояние да зададете времето за изчакване, като използвате http://php .net/manual/en/function.stream-set-timeout.php
Но вероятно е по-лесно да зададете по подразбиране и след това да нулирате, след като сте готови...