Używasz gniazda Unix. Podczas czytania „localhost” biblioteki klienta MySQL nie interpretują go jako host TCP „localhost” i rozpoznają tę nazwę, ale używają domyślnej lokalizacji Socket. Aby używać TCP na lokalnym komputerze, musisz użyć 127.0.0.1 jako nazwę hosta.
Aby określić przeszłość, użyj unix_socket zamiast host w DSN. Lokalizacja gniazda używanego przez localhost można zdefiniować w czasie kompilacji lub w niektórych wersjach PHP za pomocą pdo_mysql.default_socket w php.ini .