我們在使用Wordpress時,經常會遇到Wordpress頁面空白,Wordpress後台無法登入以及伺服器500錯誤等問題,常見於Wordpress版本更新升級、安裝插件之後,以及伺服器PHP、Mysql等大版本更新之後,Wordpress函數不受支持的原因導致的。
另外,像挖站否wzfou.com這樣,如果Wordpress的插件安裝數量過多的話,也是很容易導致衝突的。之前在我正在用的WordPress外掛一文中有分享過我正在用的插件就是這樣的問題,老版的MailPoet居然與PHP 7.2 和 PHP 7.3 不相容,導致Wordpress頁面空白。
這篇文章就來分享一下WordPress錯誤診斷模式,主要用於處理Wordpress頁面空白,伺服器500錯誤和外掛衝突等問題,更多的WordPress優化技巧如下:
- WordPress利用MailPoet自建RSS更新郵件通知系統-使用者訂閱與管理
- 用Algolia為WordPress添加即時站內搜尋功能-搜尋品質更高內容更準
- 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錯誤,我們還是少用外掛為好。