Ik ben hier wel eens tegenaan gelopen. De verklaring is meestal dat MySQL Server is geconfigureerd om een socketbestand op één pad te gebruiken, maar php.ini
's sectie op mysqli of pdo_mysql zoekt naar het socketbestand op een ander pad.
Dit overkomt mij ook al installeer ik zowel PHP als MySQL vanaf MacPorts. Je zou denken dat ze de configuraties voor deze twee poorten zouden hebben aangepast.
Bewerk je php.ini
om de juiste locatie van het socketbestand in te stellen, of geef anders de socket op wanneer u een verbinding met mysqli of pdo_mysql start.
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")
Zie ook het artikel dat ik schreef Error2003-CantConnectToMySQLServer .