Jeg er stødt på det her fra tid til anden. Forklaringen er oftest, at MySQL Server er konfigureret til at bruge en socket-fil på én sti, men php.ini
's sektion på mysqli eller pdo_mysql leder efter socket-filen på en anden sti.
Dette sker for mig, selvom jeg installerer både PHP og MySQL fra MacPorts. Man skulle tro, at de ville have fået konfigurationerne til disse to porte til at stemme overens.
Rediger enten din php.ini
for at indstille den korrekte placering af socket-filen, eller også angive socket, når du starter en forbindelse med mysqli eller pdo_mysql.
pdo = new PDO("mysql:dbname=test;unix_socket=/opt/local/var/run/mysql5/mysqld.sock",
"username", "password")
$mysqli = new mysqli("localhost", "username", "password", "test",
ini_get("mysqli.default_port"), "/opt/local/var/run/mysql5/mysqld.sock")
Se også artiklen, jeg skrev Error2003-CantConnectToMySQLServer .