Скорее всего, это не ошибка в PDO, а особенность некоторой клиентской библиотеки базы данных. Например, если вы используете psql
(клиент PostgreSQL) для подключения к localhost , он будет использовать сокеты UNIX, но если вы используете 127.0.0.1 , он будет использовать сокеты TCP и для этого ему, очевидно, нужен также номер порта.