嘗試使用PHP 中的mysqli 類別建立與MySQL 資料庫的連線時,可能會出現錯誤:
mysqli::mysqli(): (HY000/2002): Can't connect to local MySQL server through socket 'MySQL' (2)
此錯誤表示透過指定套接字的連線有問題, 'MySQL'。
當使用「localhost」作為主機連接到本地主機時,MySQL 嘗試利用Unix 域套接字來實現更快且可能更安全的連接。但是,如果套接字未配置或不可訪問,連接將失敗並出現錯誤 2。
要解決此問題,可以採取多種方法:
1.使用TCP/IP 而不是Unix Socket:
將連線字串中的「localhost」替換為IP 位址127.0.0.1。這將強制建立 TCP/IP 連線。
2.設定 mysqli.default_socket:
找到 MySQL 的 my.cnf 設定檔並決定套接字的路徑。然後,打開 php.ini 檔案並將 'mysqli.default_socket' 值設定為此路徑。
3.在PHP 腳本中設定套接字:
建立連線時直接在PHP 腳本包含套接字路徑,如下所示:
$db = new MySQLi('localhost', 'kamil', '***', '', 0, '/var/run/mysqld/mysqld.sock');
透過實現以下解決方案之一,您可以繞過Unix 套接字連接並與您的MySQL 資料庫建立成功的連線。
以上是為什麼我無法透過 PHP 的 mysqli 類別連接到本機 MySQL 伺服器?的詳細內容。更多資訊請關注PHP中文網其他相關文章!