Você está usando um soquete Unix. Ao ler as bibliotecas de cliente MySQL "localhost", não o interprete como host TCP "localhost" e resolva esse nome, mas use o local do Socket padrão. Para usar o TCP na máquina local, você deve usar
127.0.0.1 como nome de host. Para especificar o passado use
unix_socket em vez de host no DSN. A localização do soquete usado para localhost pode ser definido em tempo de compilação ou em algumas versões do PHP usando pdo_mysql.default_socket no php.ini .