簡體   English   中英

Wordpress - 建立數據庫連接時出錯

[英]Wordpress - Error establishing a database connection

在我基於 Wordpress 的網站上沒有任何更改,幾天前它只是停止運行。 在此之前,我從用於監控此站點的服務中收到了比正常數量更多的“站點關閉”消息。

現在,我在嘗試訪問該站點時得到的只是標題中列出的錯誤。 頁面上僅顯示消息“建立數據庫連接時出錯” - 沒有別的。

我在同一台服務器上運行了其他博客站點,它們都仍在運行。 我可以用 phpmyadmin 訪問這個網站的數據庫沒問題。 我還通過phpmyadmin(在另一個站點上推薦)對wp-options表進行了“修復”。

最后,我創建了一個新的 php 文件,它與數據庫建立連接,然后在連接時從數據庫中回顯數據。 我將所有數據庫連接數據直接從該站點的 wp-config 文件傳輸到這個新的 php 文件,因此它連接的信息完全相同。

連接此文件沒有問題。

但是,如果我清除此文件,然后只在其中放置以下代碼:

    <?php
    require_once '/home/bestsynt/public_html/wp-config.php';
global $current_user;
get_currentuserinfo();
$level = $current_user->user_level;
echo $level;
    ?>

我收到完全相同的錯誤消息。

由於這是一個相對高流量的網站,它已經關閉了兩天。 由於問題似乎不在“服務器/主機”端,因此我不太可能在該端獲得太多支持。 這與 Wordpress 本身有關,但我不知道是什么。

在此處輸入圖片說明

在數據庫主機中添加 127.0.0.7:3307 端口而不是 localhost 和 MySQL 端口 3307 或您的 MySQL 端口號。 數據庫主機后

安裝 Wordpress 的大多數問題與:“建立數據庫連接時出錯”有關,是由 wp-config.php 中的錯誤配置引起的

define('WP_HOME','http://www.mysite.com');
define('WP_SITEURL','http://www.mysite.come');
define('DB_NAME', 'mydbname');
/** MySQL database username */
define('DB_USER', 'dbusername');
/** MySQL database password */
define('DB_PASSWORD', 'dbpassword');
/** MySQL hostname */
define('DB_HOST', 'localhost'); //If you are not using default port number
  • 我們必須確保用戶“dbusername”對數據庫“mydbname”具有正確的權限
  • 本地主機需要或不設置端口。
  • 默認情況下,嘗試使用具有所有權限的用戶和密碼“root”:

    定義('DB_USER', 'root');

    定義('DB_PASSWORD','root');

在此之前,您需要確保:

  • 為 Wordpress 安裝創建一個數據庫。
  • 擁有被授予訪問該數據庫的權限的數據庫用戶和密碼。

轉到 WordPress 文件夾打開配置文件在 DB NAME 中更改您的數據庫名稱,用戶名 DB_USER,密碼 DB_PASSWORD db host 在 DB_HOST 或

define('WP_ALLOW_REPAIR', true);

將此添加到您的配置文件中

導致這種情況的另一種情況是由於未設置本機密碼的 Mysql8 用戶。 你可能需要做一些簡單的事情

ALTER USER 'jeffrey'@'localhost'
  IDENTIFIED WITH mysql_native_password
             BY 'password';

這將解決問題。 剛剛通過全新的 WP 安裝遇到了它,並且無法弄清楚為什么憑據看起來是正確的,但是 WP 會一直說它無法連接。 最后啟用調試:

define( 'WP_DEBUG', true );
define( 'WP_DEBUG_DISPLAY', true );

這顯示了正在發生的實際錯誤:“服務器請求了客戶端未知的身份驗證方法”。

希望這可以幫助某人!

您需要做的第一件事是打開診斷功能,以便您可以准確查看錯誤是什么。 在您的 wp-config.php 文件中打開 WP_DEBUG ...

define( 'WP_DEBUG', true );

然后重啟你的服務器。 您現在將看到一條詳細的錯誤消息,有助於識別和解決問題。

事實證明,這是我的 wordpress 數據庫中 wp-options 表中缺少的條目。

通過 Phpmyadmin 中的 SQL 選項卡發出的以下插入命令解決了該問題:

INSERT INTO `wp_options` VALUES (1,0,'siteurl','http://bestsyntheticoil.com/','yes')

不確定這條記錄是如何被刪除的,因為我沒有在那個數據庫中工作。 但是,至少現在已經解決了。

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM