標題重寫為:遇到PDOException SQLSTATE錯誤,找不到檔案或目錄
P粉183077097
P粉183077097 2023-10-10 15:43:30
0
2
605

我相信我已經成功地將我的(非常基本的)網站部署到fortrabbit,但是一旦我連接到SSH 來運行一些命令(例如php artisan migratephp artisan db :seed),我就會收到一條錯誤訊息:

[PDOException]
SQLSTATE[HY000] [2002] No such file or directory

在某些時候,遷移一定是有效的,因為我的表就在那裡 - 但這並不能解釋為什麼它現在對我不起作用。

P粉183077097
P粉183077097

全部回覆(2)
P粉788765679

導致此錯誤的最簡單原因之一是 MySQL 伺服器未執行。所以先確認一下。如果它已啟動,請繼續執行其他建議:

我遇到了完全相同的問題。上述解決方案都不適合我。我透過將 /app/config/database.php 檔案中的“主機”從“localhost”更改為“127.0.0.1”解決了該問題。

不知道為什麼「localhost」預設不起作用,但我在 symfony2 帖子中解決的類似問題中找到了這個答案。 https://stackoverflow.com/a/9251924

更新: 有些人問為什麼這個修復有效,所以我對這個主題做了一些研究。正如這篇文章所述,他們似乎使用不同的連線類型 https://stackoverflow.com/a/9715164

#這裡出現的問題是「localhost」使用UNIX套接字,無法在標準目錄中找到資料庫。然而,「127.0.0.1」使用 TCP(傳輸控制協定),這本質上意味著它透過電腦上的「本地互聯網」運行,在這種情況下比 UNIX 套接字可靠得多。

P粉356361722

錯誤訊息表示嘗試透過套接字進行 MySQL 連線(不支援)。

在 Laravel(工匠)的上下文中,您可能想要使用不同/正確的環境。例如:php artisan migrate --env=product(或任何環境)。請參閱此處

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