Установка таймаута соединения с PDO

Я использую PDO для получения данных с сервера MySQL. Я заметил следующее: если сервер MySQL недоступен, требуетсядействительно (относительно) долго для этого кода возвращать исключение:

try {
  $handle = new PDO($db_type . ':host='.$db_host.';dbname='.$db_name,$db_user,$db_pass);
  // Tried using PDO::setAttribute and PDO::ATTR_TIMEOUT here
} catch(PDOException $e) {
  echo $e->getMessage;
}

В случае MySQL исключение занимает чуть более 2 минут (SQLSTATE [HY000] [2003] Can 't подключиться к серверу MySQL на ...) и 30 секунд на PostgreSQL (истекло время ожидания SQLSTATE [08006] [7]).

Я пытался использовать PDO :: setAttribute и PDO :: ATTR_TIMEOUT, но этоне работает. Что, я думаю, имеет смысл, поскольку проблема возникает до этого утверждения.

Есть ли способ установить тайм-аут для подключения к БД? Мне кажется, что для PDO 2 минуты / 30 секунд очень много времени, чтобы понять, что там ничего нет.

Я думаю, что я видел, что где-то это делается, но могуне могу найти это снова для моей жизни.

Ответы на вопрос(2)

Ваш ответ на вопрос