簡單有效的WordPress除錯及故障排查小技巧

簡單有效的WordPress除錯及故障排查小技巧

如果您是Web開發人員,您經常處理網站錯誤,對嗎?無論您是從頭開始為網站編寫程式碼,還是部署已經編寫好的軟體程式,您都一定會遇到錯誤。這是因為編碼錯誤可能發生在包括WordPress在內的所有型別的計算機程式中。

但是每個問題都有解決方案,錯誤也是如此。事實上,作為一名Web開發人員,您的主要職責之一是除錯錯誤或編碼錯誤。這篇文章將全面為您提供除錯WordPress編碼錯誤一些有效的資訊。

所以,如果你是WordPress開發者,這個部落格對你來說非常方便。我們將在整個部落格中為您提供一些殺手級和有效的除錯WordPress提示和技巧。

但在此之前,讓我們定義術語除錯並給您一個概述。這將幫助您更好地理解後續要點。

Debug除錯說明

簡而言之,除錯或除錯是指檢測和修復軟體或計算機程式中的編碼錯誤。通常,Web開發人員是執行除錯任務的專業人員。

開發人員使用許多除錯工具來修復程式碼中的錯誤。一旦更正,他們會執行進一步的測試以確保程式中不會再次出現錯誤。需要注意的是,除錯是軟體開發過程中的一個持續動作。

Debug除錯說明

要除錯一個軟體,您可以採用多種策略,包括單元測試、程式碼審查和結對程式設計。在釋出軟體程式之前,Web開發人員的工作是確保軟體程式沒有錯誤。

但是,即使在修復了明顯的錯誤之後,錯誤也可能出現在軟體正式釋出後。這是因為幾乎不可能一次性識別出產品中的所有錯誤。使用者開始使用該產品後,該程式的一些錯誤就會顯現出來。當使用者抱怨錯誤時,開發人員必須立即修復它們。

為什麼提前除錯WordPress網站很重要

WordPress安全性一樣,除錯WordPress也很重要。當您設計WordPress網站時,您會利用許多3rd方外掛來增強您的網站功能。但是所有這些外掛都不太可能為您帶來預期的成果。其中許多外掛會觸發程式碼衝突,從而削弱您的WordPress網站。

除錯WordPress

WordPress有一個debug除錯模式,可以讓您預先檢測到這種型別的程式碼衝突。這使您可以在網站上線之前解決這些問題。因此,在網站上線後修復新出現的網站錯誤所需的時間和精力會減少。

7個有效的除錯WordPress提示和技巧

現在,是時候切入正題了,即為您提供除錯WordPress站點的可能解決方案。通常,每當我們中的任何人面對我們的WordPress網站崩潰時,我們傾向於停用或解除安裝我們所有活動的主題和外掛。事實上,這是我們被要求做的。並不是說採用這種方法是錯誤的。

但這是讓您的網站重回正軌的浪費時間和低效的方法。這樣,您網站的真正問題也可能會被忽視。因此,你必須想出一個真正的遊戲規則改變者,而這正是我們要在這裡討論的——

如果您願意瞭解如何恢復被黑的WordPress網站,可以參考以下連結 –

如何恢復被黑的WordPress網站?

WordPress除錯外掛的可用性

當涉及到WordPress網站的功能增強時,外掛總是很有用的。例如,如果您想通過社交媒體功能豐富您的網站,您可以使用社交媒體外掛

同樣,如果您想為您的WordPress網站增強除錯功能,您可以使用一流的WordPress除錯外掛。我們會命名並推薦2個除錯WordPress外掛——Query Monitor和Debug Bar。

Query Monitor

Query Monitor帶有一些令人興奮的WordPress除錯功能。它有一個用於WordPress的開發人員工具面板。它可以讓您對資料庫查詢、PHP錯誤、塊編輯器塊、掛鉤和操作、語言和翻譯、重寫規則、排隊指令碼和樣式表、HTTP API呼叫等進行故障排除或除錯。

Query Monitor

它還包含一些高階功能,例如除錯Ajax呼叫、REST API呼叫和使用者能力檢查。該外掛的顯著特點是它能夠通過外掛和主題來縮小其輸出範圍,讓您破譯低階外掛和主題。

查詢監視器也以顯示方便的資訊而聞名。選擇選單項後,您可以新增管理工具欄選單以顯示當前頁面概述,並在面板中顯示除錯資訊。

Debug Bar

Debug Bar是一個高度信任的除錯WordPress工具,您可以從WP admin中使用它。它使您可以快速訪問不同型別的除錯資訊,例如快取、查詢等。該工具出現在站點的管理欄頂部,使您可以從前端和後端除錯資訊。

Debug Bar

在Debug Bar外掛中,您將有幾個選項來識別程式碼中的問題。例如,您可以通過啟用WP_DEBUG來啟用對PHP警告和通知的跟蹤。此外,要找出您網站的效能問題,您可以啟用SAVEQUERIES,它會公開和跟蹤MYSQL。

啟用WP_DEBUG

在WordPress中記錄任何問題的最簡單方法是啟用WP_DEBUG,您可以通過編輯wp-config.php檔案來完成。WP_DEBUG是WordPress內建的預設除錯模式,它有2個子型別。

一個是WP_DEBUG_DISPLAY,它在螢幕上顯示錯誤,另一個是WP_DEBUG_LOG,它將錯誤訊息儲存在wp-content/debug.log中。

要啟用WP_DEBUG,您可以導航到網站的根目錄。您可以通過託管服務提供商的檔案管理器或使用FileZilla等檔案傳輸協議 (FTP) 客戶端來執行此操作。wp-config.php檔案將位於public_html資料夾下。

找到並開啟檔案後,下一步是複製並貼上以下程式碼段:

Plain text
Copy to clipboard
Open code in new window
EnlighterJS 3 Syntax Highlighter
// Enable WP_DEBUG mode
define( 'WP_DEBUG', true );
// Enable Debug logging to the /wp-content/debug.log file
define( 'WP_DEBUG_LOG', true );
// Disable display of errors and warnings
define( 'WP_DEBUG_DISPLAY', false );
@ini_set( 'display_errors', 0 );
// Use dev versions of core JS and CSS files (only needed if you are modifying these core files)
define( 'SCRIPT_DEBUG', true );
// Enable WP_DEBUG mode define( 'WP_DEBUG', true ); // Enable Debug logging to the /wp-content/debug.log file define( 'WP_DEBUG_LOG', true ); // Disable display of errors and warnings define( 'WP_DEBUG_DISPLAY', false ); @ini_set( 'display_errors', 0 ); // Use dev versions of core JS and CSS files (only needed if you are modifying these core files) define( 'SCRIPT_DEBUG', true );
// Enable WP_DEBUG mode
define( 'WP_DEBUG', true );

// Enable Debug logging to the /wp-content/debug.log file
define( 'WP_DEBUG_LOG', true );

// Disable display of errors and warnings
define( 'WP_DEBUG_DISPLAY', false );
@ini_set( 'display_errors', 0 );

// Use dev versions of core JS and CSS files (only needed if you are modifying these core files)
define( 'SCRIPT_DEBUG', true );

需要注意的是,這應該插入到/* That’s all, stop editing! Happy blogging. */”。完成後,請務必儲存更改。

啟用WPDB錯誤報告

如果您使用WPDB類來處理您的資料庫,那麼進行WPDB錯誤報告是非常重要的。通過此錯誤報告,您可以確定您的查詢是否執行良好。最重要的是,它還將顯示除錯WordPress的錯誤訊息。

$wpdb物件中有一個名為$show_errors的變數。如果將此設定為true,則可以提示WordPress將任何給定查詢的SQL錯誤輸出到螢幕上。

Plain text
Copy to clipboard
Open code in new window
EnlighterJS 3 Syntax Highlighter
global $wpdb;
// Before running your query:
$wpdb->show_errors = TRUE;
$result = $wpdb->get_results("SELECT field_value FROM table_name");
if(! $result){
$wpdb->print_error();
// Or you can choose to show the last tried query.
echo $wpdb->last_query;
}
global $wpdb; // Before running your query: $wpdb->show_errors = TRUE; $result = $wpdb->get_results("SELECT field_value FROM table_name"); if(! $result){ $wpdb->print_error(); // Or you can choose to show the last tried query. echo $wpdb->last_query; }
global $wpdb;
// Before running your query:
$wpdb->show_errors = TRUE;
$result = $wpdb->get_results("SELECT field_value FROM table_name");
if(! $result){
$wpdb->print_error();
// Or you can choose to show the last tried query.
echo $wpdb->last_query;
}

要啟用此功能,請轉到/public_html/wp-includes/wp-db.php並開啟檔案。搜尋wpdb class並將$show_errors變數更改為true

部署WordPress臨時站點

不熟悉“臨時站點”一詞?好吧,登臺站點是您的實時站點的精確克隆。您可以在不公開的情況下在您的私有子域中託管暫存站點。這就是為什麼暫存站點首先是執行程式碼的理想場所。

登臺站點充當開發平臺,允許您實現希望在實時站點中推送的任何程式碼。由於登臺環境對人和搜尋引擎來說是不可見的,因此它是一個理想的平臺,可以在將程式碼移至實時站點之前對其進行測試、調整和微調。

識別PHP錯誤

在PHP中,您可以保留錯誤日誌,因為它帶有自己的錯誤報告級別。使用phpinfo檔案,您可以在指令碼的早期輕鬆檢測PHP錯誤。這個phpinfo檔案能夠輸出有關PHP當前狀態的資訊。

資訊型別包括編譯選項和擴充套件、版本、環境、作業系統版本、HTTP標頭和許可證。為此,您可以配置php.ini檔案以啟用PHP錯誤報告並指定儲存錯誤日誌的位置。

Plain text
Copy to clipboard
Open code in new window
EnlighterJS 3 Syntax Highlighter
error_reporting = E_ALL | E_STRICT
error_log = /var/log/php_error.log
error_reporting = E_ALL | E_STRICT error_log = /var/log/php_error.log
error_reporting = E_ALL | E_STRICT 
error_log = /var/log/php_error.log

但是,您可能會發現某些託管計劃中禁用了此選項。在這種情況下,您可以部署PHP程式碼檢查器,它會為您提供一個助手來檢查程式碼中的缺陷。該工具將使您能夠查詢和修復語法錯誤,例如拼寫錯誤的函式或丟失的分號。

但是如果你的語法沒有錯誤,你必須想出像Eclipse和PHPStorm這樣的IDE。這些工具將破壞程式碼並讓您檢查您是否在做任何邏輯錯誤,例如忽略您之前儲存在字串中的變數。

檢查您網站的伺服器錯誤日誌

您在瀏覽網站時可能遇到的常見網站錯誤之一是“內部伺服器錯誤”。這種型別的錯誤可能是由於指令碼超過了最大執行時間。PHP和WordPress都無法檢測到此類編碼錯誤。因此,對於此類錯誤,您不會收到任何PHP錯誤訊息。

檢查您網站的伺服器錯誤日誌

這是訪問和檢視您網站的錯誤日誌的地方。常規日誌檢查可以幫助新手和高階開發人員找出問題。如果錯誤來自PHP程式碼或由於WordPress安裝中的任何失誤,您可以從錯誤日誌中瞭解。

您還可以致電您的託管服務提供商以瞭解錯誤日誌的位置。他們還可以讓您瞭解可能導致內部伺服器錯誤的任何可能原因。

啟用SCRIPT_DEBUG

為了最大限度地減少載入時間和頻寬使用,WordPress預設使用CSS和JavaScript檔案的縮小版本。使用縮小版本可能會隱藏您利用的指令碼或外掛中的錯誤。為了擺脫這個問題,WordPress還提供了一個常量,您可以將其新增到wp-config.php檔案中,即 –

Plain text
Copy to clipboard
Open code in new window
EnlighterJS 3 Syntax Highlighter
define( ‘SCRIPT_DEBUG’, true );
define( ‘SCRIPT_DEBUG’, true );
define( ‘SCRIPT_DEBUG’, true );

如果常量“ SCRIPT_DEBUG ”被定義為“true”,WordPress將自動載入CSS和JavaScript檔案的非縮小版本,使所有外掛使用它們的完整版本。

小結

除錯WordPress不是在公園裡散步,而是一項艱鉅的任務,有時會變得乏味。但是,如果您遵循我們在這篇文章中列出的7個技巧,您可能會發現該過程更簡單、更容易。

事實上,我們總是傾向於依賴備份資料,而不是發現和修復現有問題。這是不可取的,因為如果不修復現有問題,您將在備份中再次遇到相同的問題或錯誤。

因此,努力工作並找出WordPress網站的錯誤,按照上述技巧除錯您的WordPress網站。有了它,您將掌握編碼的竅門,還可以除錯您的WordPress網站。修復錯誤後,您也可能會從WordPress網站獲得更好的成果。

評論留言