警告:mysqli_connect():(HY000/2002):找不到檔案或目錄
P粉350036783
P粉350036783 2024-01-21 15:02:15
0
2
402

我正在嘗試在我的 Mac 上安裝普通論壇,為此我剛剛從 MySQL 命令列建立了一個資料庫和一個使用者:

mysql> CREATE DATABASE vanilla;
Query OK, 1 row affected (0.00 sec)

mysql> create user 'vanilla_user3'@'localhost' IDENTIFIED BY 'vanilla_password';
Query OK, 0 rows affected (0.00 sec)

mysql> GRANT ALL PRIVILEGES ON * . * TO 'vanilla_user3'@'localhost';
Query OK, 0 rows affected (0.00 sec)

mysql> FLUSH PRIVILEGES;
Query OK, 0 rows affected (0.00 sec)

所以我嘗試使用以下程式碼進行連接:

$con=mysqli_connect("localhost","vanilla_user3","vanilla_password","vanilla");
if (mysqli_connect_errno($con)) {
  echo "Failed to connect to MySQL: " . mysqli_connect_error();
}

但不幸的是,我收到一條錯誤訊息

警告:mysqli_connect():(HY000/2002):第 3 行 /Users/kramer65/Sites/vanilla/info.php 中沒有此類檔案或目錄 無法連接到 MySQL:沒有這樣的檔案或目錄

知道我哪裡出錯了嗎?

P粉350036783
P粉350036783

全部回覆(2)
P粉043432210

我遇到了同樣的問題,但問題與 php.ini 檔案有關。

我必須在 /etc/php.ini (或 php.ini 所在的任何位置)中編輯這兩行:

mysql.default_socket = /tmp/mysql.sock
mysqli.default_socket = /tmp/mysql.sock

重新啟動 apache 伺服器以確保變更得到反映。

sudo apachectl restart
P粉949848849

好吧,我剛剛找到了解決方案。問題原來是主機不應該是localhost,而是127.0.0.1。我一直以為localhost127.0.0.1是一樣的,結果不一樣。

因此,也許作為對未來用戶的提示,在有疑問時始終使用 IP。

熱門教學
更多>
最新下載
更多>
網站特效
網站源碼
網站素材
前端模板
關於我們 免責聲明 Sitemap
PHP中文網:公益線上PHP培訓,幫助PHP學習者快速成長!