Mysql
 sql >> Base de Dados >  >> RDS >> Mysql

Não é possível conectar-se ao MySQL através do script PHP ao usar mysqli ou PDO, MAS o mysql funciona


Eu me deparei com isso de vez em quando. A explicação é que o MySQL Server está configurado para usar um arquivo de soquete em um caminho, mas php.ini A seção de mysqli ou pdo_mysql está procurando o arquivo de soquete em outro caminho.

Isso acontece comigo mesmo que eu instale o PHP e o MySQL do MacPorts. Você pensaria que eles teriam feito as configurações para essas duas portas concordarem.

Edite seu php.ini para definir a localização correta do arquivo de soquete, ou então especifique o soquete quando você iniciar uma conexão com mysqli ou 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")

Veja também o artigo que escrevi Error2003-CantConnectToMySQLServer .