如何修復在 WordPress 中建立數據庫連接的錯誤
已發表: 2018-02-28這是網站所有者最擔心的問題之一,您的網站關閉的時間越長,您失去的流量就越多。 這可能意味著失去訂閱者、失去客戶,並最終失去收入。
昨天我們遇到了這個錯誤,我花了 3 個多小時才使網站至少恢復到工作狀態。 該站點關閉了 20 分鐘,然後再次運行並再次關閉。
這是我們以前從未發生過的事情,但是當我用谷歌搜索它時,我沒有找到我的解決方案的完美答案。
即使是網上的解決方案也不足以解決我的問題,雖然wpbeginner上的文章對解決問題很有幫助“錯誤建立數據庫連接”。
但是這個錯誤到底是什麼意思呢? 更重要的是,您如何修復它並儘快讓您的網站恢復正常?
在本文中,我們將詳細了解錯誤消息的含義以及可能導致錯誤消息的原因,然後我將引導您完成一些步驟來解決問題並解決問題。
為什麼會出現此錯誤? 是什麼導致此錯誤?
好吧,錯誤消息看起來很簡單,通過它,您可以了解您的網站在連接到其數據庫時遇到問題。
但是等等,事情沒那麼簡單。
這種錯誤因不同的因素而異,可能是由於
- 無效的登錄憑證,
- 改變港口,
- 文件權限,
- 損壞的數據庫,
- wp-config的變化和
- .htaccess。
“建立數據庫連接時出錯”是什麼意思?
首先,讓我們看一下 WordPress 是如何顯示您的網站的,您就會明白為什麼這個錯誤如此具有破壞性。
通常,每當在您的網站上加載頁面時,它都是動態構建的,這意味著它在實踐中並不存在,而是動態創建的。 PHP 代碼用於訪問您的 MySQL 數據庫並檢索創建頁面所需的所有信息。 有一個 PHP 查詢來訪問帖子標題,另一個來獲取作者姓名,另一個來檢索發布日期,等等。
有一個 PHP 查詢來訪問帖子標題,另一個來獲取作者姓名,另一個來檢索發布日期,以及您在網站上看到的所有其他內容。
疑難解答“建立數據庫連接時出錯”,這個問題出現在哪裡。
您需要檢查的第一件事是您在站點的前端 (www.YourSite.com) 和站點的後端 (www.YourSite.com/wp-admin) 上都收到相同的錯誤.
這些是數據庫損壞的跡象。
- 如果前端和後端的報錯信息相同,則與“建立數據庫連接時出錯”不一樣,
- 網站已關閉
- 缺少數據庫表
那麼你的數據庫需要修復。
您無需擔心您的數據庫,因為 WordPress 具有嘗試修復數據庫的內置方法,但您必須先啟用此功能。 [在繼續之前保留備份。 使用 BackUpBuddy ]
為此,您需要訪問 wp-config.php 文件,其中包含您的 WordPress 安裝設置和配置。
wp-config.php 在您的主機中的根 WordPress 文件目錄中。 您可以通過登錄 cPanel、選擇文件管理器並導航到安裝 WordPress 的文件夾輕鬆訪問它。
打開 wp-config 後,在 '就是這樣,停止編輯之前添加以下代碼! 快樂的博客'線 wp-config.php。
定義('WP_ALLOW_REPAIR',真);
完成後,您可以通過訪問此頁面查看設置:
http://www.YourSite.com/wp-admin/maint/repair.php
您應該會看到上面的屏幕,其中包含兩個用於修復或修復和優化數據庫的選項。 隨意選擇; 請注意,優化將需要更長的時間。
請注意,此數據庫修復頁面不安全; 任何人都可以訪問該 URL 而無需登錄。完成數據庫修復後,請務必刪除添加到 wp-config 的代碼行。 這將禁用對修復頁面的訪問,並防止其他人弄亂您的數據庫。
檢查 wp-config 中的數據庫登錄設置
如果上述步驟不起作用或不適用於您,那麼接下來您可以查看 wp-config 文件中的數據庫設置。
您可以在此處指定 WordPress 連接數據庫的詳細信息。 這些詳細信息可以通過某些插件或通過更改您的主機或編輯您的文件來更改或更改。
繼續並打開 wp-config 進行編輯。
您將看到數據庫的登錄憑據,可能位於文件頂部附近。 它應該看起來像這樣:
// ** MySQL 設置 - 您可以從您的虛擬主機獲取此信息 ** // /** WordPress 的數據庫名稱 */define( 'DB_NAME', 'database_name_here' ); /** MySQL 數據庫用戶名 */define( 'DB_USER', 'username_here' ); /** MySQL 數據庫密碼 */define( 'DB_PASSWORD', 'password_here' ); /** MySQL 主機名 */define( 'DB_HOST', 'localhost' );
如您所見,WordPress 需要四項信息來訪問您的數據庫:
- 數據庫的名稱(“DB_NAME”)
- 登錄用戶名(“DB_USER”)
- 登錄密碼(“DB_PASSWORD”)
- 數據庫主機(“DB_HOST”)
如果這些值中的任何一個不正確,WordPress 將無法連接到數據庫。 如果您的數據庫的每個細節都是正確的,那麼您應該通過腳本檢查它來完全確定它。
有時,如果 MySQL 服務器獲得大量流量,或者特別是如果您使用廉價的共享主機,則 MySQL 服務器會停止工作,您可以要求支持團隊確保您的 MySql 服務器工作正常,或者只需執行以下幾個步驟。
訪問您的 cPanel、文件管理器以及安裝了 WordPress 的網站的根目錄。 創建一個新文件並將其命名為“ MySQL-check.php ”並將其粘貼到下面的代碼中
<?php $test Connection = mysql_connect('localhost', 'root', 'password'); if (!$testConnection) { die('錯誤:' .mysql_error()); } echo '數據庫連接正常! 和 MySQL 的反應很好'; mysql_close($testConnection); ?>
確保替換上述代碼中的用戶名和密碼。 如果您無法通過 phpMyAdmin 連接到數據庫,那麼您的服務器可能有問題並且您的 MySQL 工作正常。
還沒解決,試試這個?
如果它們都不適合你,那麼你應該試試這個。
在您的數據庫中轉到表 wp_options,然後單擊瀏覽,這將列出所有信息。
搜索網站網址。 單擊編輯按鈕(看起來像鉛筆)並將您的 URL 重新輸入到值文本區域,然後單擊保存。
或者,在 SQL 控制台中添加以下行
更新 wp_options SET option_value = 'http://YOURURL.com' WHEREoption_name=
'siteurl'
什麼對我有用?
當我更新我的 WordPress 時,這發生在我身上,並且在成功更新後,我遇到了這個錯誤。 我做了上述所有步驟,但運氣不好。 我什至聯繫了我的託管支持,但他們甚至找不到錯誤。
因此,我下載了所有備份並在 localhost 上創建了我的站點,令我驚訝的是一切正常,所以現在我知道我的服務器出了點問題。
所以我開始研究 MySQL 和 phpMyAdmin。 我附加了我的自定義 PHP 應用程序,它運行良好。 所以現在一切都清楚了。
唯一的問題是我的 WordPress 文件,我停用了所有文件和主題,刪除了所有緩存,但仍然沒有解決我的問題。
我檢查了我的 .htaccess 它很好,但是當我單擊更改權限按鈕時。 我意識到這是一個小問題,消耗了我所有的時間和內心的平靜。
為什麼文件權限改變了?
當我更新我的 WordPress 時,一些插件在該更新中不能很好地工作並更改了文件權限,為什麼會發生,我不知道。 此外,一些過時的插件消耗了我的全部資源,為此我的網站上下翻轉。
而且我不斷收到站點監視器 Up & Down 電子郵件通知。 此外,過時的插件通過修改它們影響了我的 MySQL.so 文件和 HTTP.so。 由於我無法訪問它們,因此我聯繫了支持團隊以恢復它們。 畢竟,完成了。
我恢復了我的權限以及主題、插件和緩存。 然後Boom又回來了。 SmartActiveBlogger 再次上線。
結論
它發生的原因沒有確定的因素,也沒有明確的答案來糾正它。 您必須檢查所有解決方案並檢查哪些有效。 如果你運氣好,那麼你可以在 5 分鐘內解決它,如果你像我一樣不走運,你可能需要更多的時間。
但沒有我花那麼多時間,因為我必須做研究並給你答案,這樣你就不會像我一樣面對問題。
另外,請留意您的 WordPress 根目錄上的 error_log。 如果您有任何服務器錯誤,它可以幫助您解決問題
請寫下您是如何解決這個問題的以及哪些解決方案對您有用。