sql >> Database >  >> RDS >> Mysql

Kan geen verbinding maken met MySQL via PHP-script bij gebruik van mysqli of PDO MAAR mysql werkt

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 .




  1. Extraheer het jaar van een datum in PostgreSQL

  2. PostGIS in actie

  3. Haal de op één na hoogste waarde in een MySQL-tabel

  4. Wat is sneller:meerdere enkele INSERT's of één INSERT met meerdere rijen?