警告:mysqli_connect():(HY000/2002):沒有這樣的檔案或目錄
P粉693126115
P粉693126115 2023-08-27 17:47:27
0
2
466
<p>我正在嘗試在我的 Mac 上安裝普通論壇,為此我剛剛從 MySQL 命令列創建了一個資料庫和一個用戶:</p> <pre class="brush:php;toolbar:false;">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)</pre> <p>所以我嘗試使用以下程式碼進行連線:</p> <pre class="brush:php;toolbar:false;">$con=mysqli_connect("localhost","vanilla_user3","vanilla_password","vanilla"); if (mysqli_connect_errno($con)) { echo "Failed to connect to MySQL: " . mysqli_connect_error(); }</pre> <p>但不幸的是,我收到一條錯誤訊息</p> <blockquote> <p>警告:mysqli_connect():(HY000/2002):第 3 行 /Users/kramer65/Sites/vanilla/info.php 中沒有此類檔案或目錄 無法連接到 MySQL:沒有這樣的檔案或目錄</p> </blockquote> <p>知道我哪裡出錯了嗎? </p>
P粉693126115
P粉693126115

全部回覆(2)
P粉133321839

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

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

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

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

sudo apachectl restart
P粉320361201

好吧,我剛剛找到了解決方案。事實證明,問題在於主機不應該是 localhost,而是 127.0.0.1。我一直以為 localhost127.0.0.1 是相同的,但結果是不同的。

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

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