Sie verwenden einen Unix-Socket. Beim Lesen von „localhost“ interpretieren MySQL-Clientbibliotheken es nicht als TCP-Host „localhost“ und lösen diesen Namen auf, sondern verwenden den Standard-Socket-Speicherort. Um TCP auf dem lokalen Rechner zu verwenden, müssen Sie 127.0.0.1
verwenden als Hostname.
Um die Vergangenheit anzugeben, verwenden Sie unix_socket
statt host
im DSN. Der Speicherort des Sockets, der für localhost
verwendet wird kann zur Kompilierzeit oder in einigen PHP-Versionen mit pdo_mysql.default_socket
definiert werden in der php.ini
.