Zi 字媒體
2017-07-25T20:27:27+00:00
SiteGround 3 折主機優惠 + WordPress 一鍵安裝完整教學
Hostinger 1.2 折主機優惠 + WordPress 一鍵安裝完整教學
2 分鐘閱讀
你有沒有曾經遇過,當你造訪使用 WordPress 架設的網站時,出現「建立數據庫連線時發生錯誤(Establishing a Database Connection)」的錯誤訊息?
目次 隱藏
1 「建立數據庫連線時發生錯誤(Establishing a Database Connection)」發生原因
2 確認 /wp-admin/ 路徑
3 啟用 WordPress 自動修復資料庫功能
4 檢查 wp-config.php 檔案的資料庫憑證
5 檢查虛擬主機的負載情況
6 結論
7 相關內容
8 延伸閱讀
今天,就要來教大家,當遇到 WordPress 網站出現「Establishing a Database Connection」的錯誤時,該如何解決與修復這個問題。
注意
在進行以下操作之前請確保你有先備份過一次網站。
「建立數據庫連線時發生錯誤(Establishing a Database Connection)」發生原因
「建立數據庫連線時發生錯誤(Establishing a Database Connection)」的發生原因有很多種,如果你是 WordPress 的新手,你可能會完全不知道該怎麼辦,也不曉得該如何自己排解這個問題。
簡單來說,會出現這個錯誤的原因乃是出自於 WordPress 無法和你的資料庫進行連線,由於 WordPress 和資料庫無法正確連接的原因有很多種,因此這裡就不深入了解所有的原因,大致上常見的錯誤情況為:
資料庫的帳號密碼已變更
資料庫檔案已損毀
資料庫的存放位置改變
wp-config 的資料庫憑證設定錯誤
確認 /wp-admin/ 路徑
首先,你可以先確認當你網站的「/wp-admin/」是不是同樣也會收到相同的錯誤,舉例來說,如果你的網站是「https://test.techmoon.xyz」,你可以看一下輸入「htttps://test.techmoon.xyz/wp-admin/」的畫面是不是也會出現「建立數據庫連線時發生錯誤(Establishing a Database Connection)」的錯誤,如果此時出現了「One or more database tables are unavailable」的錯誤,那麼就表示你需要執行修復資料庫的步驟。
幸好,WordPress 本身提供了自動修復資料庫的程式,能幫助你自動掃瞄問題並嘗試進行修復。
啟用 WordPress 自動修復資料庫功能
要啟用 WordPress 自動修復資料庫的功能,首先你需要找到「wp-config.php」這個檔案,在這個檔案當中找到「/* That’s all, stop editing! Happy blogging. */」後,將以下程式碼寫在它的上方:
PHP
define('WP_ALLOW_REPAIR', true);
在「wp-config.php」檔案當中加入程式碼「define(‘WP_ALLOW_REPAIR’, true);」開啟自動修復資料庫功能
在你加入並儲存檔案之後,接著就可以前往「/wp-admin/maint/repair.php」頁面進行查看,假設你的網站是「https://test.techmoon.xyz/」那麼就是前往「https://test.techmoon.xyz/wp-admin/maint/repair.php」頁面,進行修復資料庫的動作。
造訪「wp-admin/maint/repair.php」頁面,執行「修復數據庫」的動作
這裡要特別注意,在設定「define(‘WP_ALLOW_REPAIR’, true);」之後,是所有人都可以造訪「/wp-admin/maint/repair.php」這個頁面進行此操作的,因此一但當你執行完修復與優化的操作之後,請記得一定要回去「wp-config.php」頁面將「define(‘WP_ALLOW_REPAIR’, true);」刪除。
假設在經過上述的解決方法之後,你的問題仍然無法被解決,那麼就讓我來試試接下來的另外一種方法吧。
檢查 wp-config.php 檔案的資料庫憑證
「wp-config.php」是 WordPress 系統當中非常重要的檔案,其中包含了 WordPress 與資料庫連結的相關憑證與相關內容。假如你曾經在安裝 WordPress 之後更改了資料庫的使用者名稱或密碼,那麼在這裏你仍需要再重新設計一次,否則就會出現「建立數據庫連線時發生錯誤(Establishing a Database Connection)」的錯誤訊息。
PHP
define('DB_NAME', 'database-name');
define('DB_USER', 'database-username');
define('DB_PASSWORD', 'database-password');
define('DB_HOST', 'localhost');
請根據你的資料庫名稱、使用者名稱、密碼,確認和「wp-config.php」檔案當中的設定是一致的。此外,在「DB_HOST」欄位部分,並不是所有的虛擬主機的值都會是「localhost」,如果你是使用 SiteGround、BlueHost、Hostinger、GreenGeeks、WPX Hosting、Sugarhosts、WPWebHost、iPage、DreamHost、HostPapa、HostGator、WPWebHost…的主機,那麼它們的值就是 localhost,根據不同的主機與你所採用的方法,你的「DB_HOST」的值可能會有所不同。
檢查虛擬主機的負載情況
有另外一種可能,就是當你的網站有過多的流量在同時間造訪,導致你的虛擬主機負荷不了時,就會讓你的網站變得越來越慢,最終導致某些使用者會看到此錯誤訊息。
這種情況大多出現在便宜的虛擬主機當中,當你所使用較便宜的虛擬主機甚至是免費的虛擬主機時,大部分的規格都不會太優秀,因此更容易導致這種錯誤情況發生。
你可以查看我們所做的虛擬主機評測,來協助你挑選更適合你的主機商:
熱門虛擬主機推薦與比較清單【2019 最新版】
結論
根據我的經驗來說,大部分遇到「建立數據庫連線時發生錯誤(Establishing a Database Connection)」情況的主要原因為:
虛擬主機負載過高導致臨時性錯誤
資料庫的密碼與 wp-config.php 當中的設定不一致
當你是新手時,遇到這種情況可能會讓你不知所措,但是一但你學會了使用上面簡單的方法來排解問題時,你就能更加容易且快速的去面對與解決,不必浪費太多時間去尋找問題點與解決方法。
如果你還有更多相關的問題,歡迎在下方和我們聊聊,也歡迎你分享出去給更多人知道遇到此問題的解決方法。
延伸閱讀
WordPress 虛擬主機推薦與費用比較清單【2020 最新版】
WPWebHost 2020 年 2 月深度評測 - 從購買主機到建立 WordPress 網站完整教學
2020 SiteGround 2 月 - 購買註冊教學 + WordPress 安裝教學 - 註冊購買與一鍵 WordPress 快速安裝教學
WordPress vs Blogger 哪一個比較好?
如何優化 WordPress 網站,提升網站速度?初學者也能自己優化網站的 4 個方法
WordPress 是什麼?新手入門教學 - 深入淺出帶你了解什麼是 WordPress 網站
【網站狀態】7 個提升 WordPress 安全性與網站性能的小技巧
WordPress 出現 504 Gateway Timeout Error 解決方法?
【WordPress 付費主題免費下載】Soho Pro - Photography Portfolio
【WordPress 付費主題免費下載】DONA - Creative Multi-Purpose Parallax WordPress Theme
最佳的 WordPress 付費佈景主題推薦與介紹(2020 更新)
WPWebHost 2020 年 2 月 - 主機評價,每月 3 美元就可輕鬆建立 WordPress 網站
寫了
5860316篇文章,獲得
23313次喜歡