sql >> Base de Datos >  >> RDS >> Mysql

No se puede conectar a MySQL a través de un script PHP cuando se usa mysqli o PDO PERO mysql funciona

Me he encontrado con esto de vez en cuando. La explicación más frecuente es que MySQL Server está configurado para usar un archivo de socket en una ruta, pero php.ini La sección de mysqli o pdo_mysql está buscando el archivo de socket en otra ruta.

Esto me sucede aunque instalo PHP y MySQL desde MacPorts. Uno pensaría que habrían hecho coincidir las configuraciones para estos dos puertos.

Edite su php.ini para establecer la ubicación correcta del archivo de socket, o especificar el socket cuando inicie una conexión 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")

Consulte también el artículo que escribí Error2003-CantConnectToMySQLServer .