Mysqli veya PDO ancak MySQL eserleri kullanırken PHP komut dosyası aracılığıyla MySQL bağlantı kurulamıyor

1 Cevap php

Ben garip bir durumla karşı karşıyayım. Ben bir "mysql" bağlantısını kullanarak MySQL veritabanına bağlanmak için çalışıyorum, bu çalışıyor.

mysql connection string -> mysql_connect($HOST, $USER, $PASSWORD, $DB); 

Ben "mysqli" veya "PDO" kullanabilirsiniz ama ne zaman bağlantı başarısız hemen başarısız

mysqli connection string -> mysqli_connect($HOST, $USER, $PASSWORD, $DB); 
PDO Connection string -> new PDO("mysql:host=$HOST;dbname=$DB", $USER, $PASSWORD);

O atar belirli hata olduğunu

SQLSTATE[HY000] [2003] Can't connect to MySQL server on 'localhost' (10061

Siz bana yardımcı olabilir misiniz? Teşekkürler.

1 Cevap

Ben zaman zaman bu çalıştırmak. Açıklama MySQL Server bir yoldaki bir soket dosyasını kullanmak için yapılandırılmış olduğunu en sık, ancak mysqli'nin veya PDO_MYSQL üzerine php.ini 's bölümünde başka yolda soket dosyasını arıyor.

Ben MacPorts PHP ve MySQL hem yüklemek olsa bile, bu bana olur. Bu iki port katılıyorum onlar yapılandırmaları yaptık sandın.

Düzenlemek Ya senin php.ini soket dosyasının doğru konumunu ayarlamak, ya da başka mysqli'nin veya PDO_MYSQL ile bir bağlantı başlatmak zaman soketi belirtmek için.

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")

Ayrıca ben Error2003-CantConnectToMySQLServer yazdı makalesine bakın.