我們在使用Wordpress時,經常會遇到Wordpress頁面空白,Wordpress後台無法登入以及伺服器500錯誤等問題,常見於Wordpress版本更新升級、安裝插件之後,以及伺服器PHP、Mysql等大版本更新之後,Wordpress函數不受支持的原因導致的。

另外,像挖站否wzfou.com這樣,如果Wordpress的插件安裝數量過多的話,也是很容易導致衝突的。之前在我正在用的WordPress外掛一文中有分享過我正在用的插件就是這樣的問題,老版的MailPoet居然與PHP 7.2 和 PHP 7.3 不相容,導致Wordpress頁面空白。

這篇文章就來分享一下WordPress錯誤診斷模式,主要用於處理Wordpress頁面空白,伺服器500錯誤和外掛衝突等問題,更多的WordPress優化技巧如下:

  1. WordPress利用MailPoet自建RSS更新郵件通知系統-使用者訂閱與管理
  2. 用Algolia為WordPress添加即時站內搜尋功能-搜尋品質更高內容更準
  3. WooCommerce支付寶付款-WooCommerce付款外掛設定和使用

PS:2019年12月8日更新,對於Wordpress沒有自帶移動端自適應功能或者是本身的移動主題不是很好看,我們可以試試AMP自適應: WordPress AMP移動優化-打造適合行動搜尋引擎和手機瀏覽訪問WP 。

PS:2019年12月25日更新,有時在Wordpress後台操作時容易出現502錯誤,解決方法: 解決WordPress後台編輯保存選單出現502錯誤 。

一、手動開啟WP錯誤調試

打開在wp-config.php 文件,加入以下程式碼(注意如果原始設定檔中有define('WP_DEBUG', true);等程式碼,請註解它們) :

/**
 * This will log all errors notices and warnings to a file called debug.log in
 * wp-content (if Apache does not have write permission, you may need to create
 * the file first and set the appropriate permissions) 
 */
define('WP_DEBUG', true);
define('WP_DEBUG_LOG', true);
define('WP_DEBUG_DISPLAY', false);
@ini_set('display_errors',0);

儲存後,你就可以在 wp-content/debug.log 檔案中看到對應的錯誤訊息了。如果你想直接顯示錯誤訊息在網頁上,替換成:

/ 开启WP_DEBUG模式
define( 'WP_DEBUG', true );
 
// 开启DEBUG日志,一定要记得关闭这个日志功能并清理这个日志文件哦,产生的日志文件在: /wp-content/debug.log
define( 'WP_DEBUG_LOG', true );
 
// 显示errors and warnings
define( 'WP_DEBUG_DISPLAY', true );
@ini_set( 'display_errors', 'On' );

最後,測試完成後一定要註解掉或刪除以上程式碼,以防壞人!

二、WP錯誤診斷調試插件

2.1 Query Monitor

外掛:https://wordpress.org/plugins/query-monitor/

Query Monitor外掛程式可以幫助你除錯database queries, PHP errors, hooks和actions, block editor blocks, enqueued scripts and stylesheets, HTTP API calls等等,啟用後顯示如下圖:

Query Monitor可以顯示Wordpress詳細的錯誤訊息以及查詢訊息,以便於參考:

2.2 Debug Bar

外掛:https://wordpress.org/plugins/debug-bar/

在啟用插件前,你需要編輯你的WP配置文件,加入以下程式碼(用完了記得刪除它們):

#Debug Bar插件
define( 'WP_DEBUG', true );
define( 'SAVEQUERIES', true );

Debug Bar外掛可以顯示PHP錯誤、mysql queries查詢等,在Wordpress右上角顯示Debug Bar按鈕。

點擊後可以查看詳細的PHP錯誤、Mysql查詢信息,如下圖:

三、總結

手動開啟WordPress錯誤診斷模式,可以選擇是否直接在頁面上顯示錯誤訊息,或是輸出到目錄下日誌當中,對於一些重要的網站建議不顯示錯誤訊息,而是在日誌中檢視。

使用Query Monitor和Debug Bar開啟模式診斷模式,相對於手動開啟診斷模式,顯示錯誤訊息會直觀,查詢起來會比較容易。總之,為了盡量避免WP錯誤,我們還是少用外掛為好。

發表評論