Mysql
 sql >> Database >  >> RDS >> Mysql

Impossibile connettersi a MySQL tramite script PHP quando si utilizza mysqli o PDO MA mysql funziona

Mi sono imbattuto in questo di tanto in tanto. La spiegazione più spesso è che MySQL Server è configurato per utilizzare un file socket in un percorso, ma php.ini La sezione di mysqli o pdo_mysql sta cercando il file socket in un altro percorso.

Questo mi succede anche se installo sia PHP che MySQL da MacPorts. Penseresti che avrebbero concordato le configurazioni per queste due porte.

Modifica il tuo php.ini per impostare la posizione corretta del file socket, oppure specificare il socket quando avvii una connessione con mysqli o 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")

Vedi anche l'articolo che ho scritto Error2003-CantConnectToMySQLServer .