Mysql
 sql >> Baza danych >  >> RDS >> Mysql

Nie można połączyć się z MySQL za pomocą skryptu PHP podczas korzystania z mysqli lub PDO, ALE mysql działa

Od czasu do czasu wpadam na to. Wyjaśnieniem jest najczęściej, że MySQL Server jest skonfigurowany do używania pliku typu socket w jednej ścieżce, ale php.ini Sekcja mysqli lub pdo_mysql szuka pliku typu socket w innej ścieżce.

Zdarza mi się to, mimo że instaluję zarówno PHP, jak i MySQL z MacPorts. Można by pomyśleć, że uzgodnili konfiguracje dla tych dwóch portów.

Albo edytuj swój php.ini aby ustawić poprawną lokalizację pliku gniazda lub określić gniazdo podczas inicjowania połączenia z mysqli lub 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")

Zobacz także artykuł, który napisałem Error2003-CantConnectToMySQLServer .




  1. Database
  2.   
  3. Mysql
  4.   
  5. Oracle
  6.   
  7. Sqlserver
  8.   
  9. PostgreSQL
  10.   
  11. Access
  12.   
  13. SQLite
  14.   
  15. MariaDB
  1. Migracyjny klucz obcy a elokwentne relacje w Laravel

  2. Problem z dostępem do MySQL z Javy

  3. tinyint (rozmiar), varchar (rozmiar):wyjaśnienie rozmiaru

  4. Odejmowanie dwóch równych wartości nie jest zerem w mysql

  5. Wybierz dane z bazy danych na podstawie danych wprowadzonych przez użytkownika