[WordPress] 外掛分享: Hagakure – Yet Another Error Reporter

WordPress 外掛 Hagakure – Yet Another Error Reporter 的封面圖片。

前言介紹

  • 這款 WordPress 外掛「Hagakure – Yet Another Error Reporter」是 2019-05-09 上架。
  • 目前有 20 個安裝啟用數。
  • 上一次更新是 2025-03-28,距離現在已有 35 天。
  • 外掛最低要求 WordPress 5.9 以上版本才可以安裝。
  • 外掛要求網站主機運作至少需要 PHP 版本 7.4 以上。
  • 有 2 人給過評分。
  • 還沒有人在論壇上發問,可能目前使用數不多,還沒有什麼大問題。

外掛協作開發者

kuno1 | tarosky | takahashi_fumiki |

外掛標籤

php | error | recovery |

內容簡介

您有見過以下的錯誤日誌嗎?

PHP Fatal error: Allowed memory size of xxxxxx bytes exhausted (tried to allocate xxx bytes) in /var/www/wordpress/wp-includes/wp-db.php on line 2007

這表示當從數據庫檢索數據時,PHP 內存限制已用盡。在任何情況下,當您的網站具有大量數據且內部循環過多時,就會發生這種情況。

但我們想知道是哪個外掛嘗試檢索數據?

當wp-db.php引起內存限制錯誤時,Hagakure會在錯誤日誌文件中添加額外信息:

[08-May-2019 10:28:37 UTC] wpdb Error Backtrace:
Kunoichi\Hagakure\DbLogger->filter_query() /app/public/wp-includes/class-wp-hook.php Line 286
WP_Hook->apply_filters() /app/public/wp-includes/plugin.php Line 208
apply_filters /app/public/wp-includes/wp-db.php Line 1871
wpdb->query() /app/public/wp-includes/wp-db.php Line 2579
wpdb->get_results() /app/public/wp-includes/class-wp-query.php Line 2979
WP_Query->get_posts() /app/public/wp-includes/class-wp-query.php Line 3387
WP_Query->query() /app/public/wp-includes/post.php Line 1961
get_posts /app/public/wp-content/plugins/hagakure/hagakure.php Line 34
{closure} /app/public/wp-includes/class-wp-hook.php Line 286
WP_Hook->apply_filters() /app/public/wp-includes/class-wp-hook.php Line 310
#11 WP_Hook->do_action() /app/public/wp-includes/plugin.php Line 465
#12 do_action /app/public/wp-includes/template-loader.php Line 13
#13 require_once /app/public/wp-blog-header.php Line 19
#14 require /app/public/index.php Line 17

這個日誌總是跟隨由wp-db.php引起的內存限制致命錯誤。#8現在可以發現重複調用get_posts。

我們建議使用像CloudWatch Logs這樣的通知服務來監視日誌。

這個錯誤發生在生產環境中,您可能沒有機會看到它發生。

我們使用Hagakure和我們的託管服務,期待您能看到我們的博客文章並描述整合情況!

此外,此插件在錯誤日誌中添加了調試回溯。要將錯誤級別修改為詳細的回溯,請定義此常量:

define( 'HAGAKURE_ERROR_LEVEL', E_NOTICE | E_USER_WARNING | E_WARNING | E_USER_ERROR );

此外,如果設置SAVEQUERIES為true,將以PHP調試回溯記錄緩慢的調試日誌。這有助於您進行調試。

致謝

虛構內容的基礎文本是查爾斯·狄更斯(Charles Dickens)的 “Three Ghost Story”。文本文件修改自Gutenberg計劃之一。

原文外掛簡介

Have you ever seen an error log like the one below?

PHP Fatal error: Allowed memory size of xxxxxx bytes exhausted (tried to allocate xxx bytes) in /var/www/wordpress/wp-includes/wp-db.php on line 2007

This means that PHP memory limit is exhausted while retrieving data from a database. In any case, this happens when your site has big data and makes insane loops inside.
But we want to know that which plugin tried to retrieve data?
Hagakure adds extra information to error.log file when wp-db.php causes memory limit error:
[08-May-2019 10:28:37 UTC] wpdb Error Backtrace:
Kunoichi\Hagakure\DbLogger->filter_query() /app/public/wp-includes/class-wp-hook.php Line 286
WP_Hook->apply_filters() /app/public/wp-includes/plugin.php Line 208
apply_filters /app/public/wp-includes/wp-db.php Line 1871
wpdb->query() /app/public/wp-includes/wp-db.php Line 2579
wpdb->get_results() /app/public/wp-includes/class-wp-query.php Line 2979
WP_Query->get_posts() /app/public/wp-includes/class-wp-query.php Line 3387
WP_Query->query() /app/public/wp-includes/post.php Line 1961
get_posts /app/public/wp-content/plugins/hagakure/hagakure.php Line 34
{closure} /app/public/wp-includes/class-wp-hook.php Line 286
WP_Hook->apply_filters() /app/public/wp-includes/class-wp-hook.php Line 310
#11 WP_Hook->do_action() /app/public/wp-includes/plugin.php Line 465
#12 do_action /app/public/wp-includes/template-loader.php Line 13
#13 require_once /app/public/wp-blog-header.php Line 19
#14 require /app/public/index.php Line 17
#15 URI: /?p=1
This log will always follow the memory limit Fatal Error by wp-db.php. Now you can find calls get_posts repeatedly.
We recommend watching logs with notification services like CloudWatch Logs.
This error occurs in the productional environment, and you may not have a chance to see it occurs.
We use Hagakure with our hosting service, please look forward to seeing our blog published and describing the integration!
This plugin also adds debug backtrace to error logs. To modify the error level to a detailed backtrace, define the constant in wp-config.php or somewhere else:
define( 'HAGAKURE_ERROR_LEVEL', E_NOTICE | E_USER_WARNING | E_WARNING | E_USER_ERROR );
Besides that, if SAVEQUERIES is set true, the slow query log will be logged with PHP debug backtrace. This helps you to debug.
Acknowledgements
The base text for dummy content is “Three Ghost Story” by Charles Dickens. The text file is modified the one of Project Gutenberg.

各版本下載點

  • 方法一:點下方版本號的連結下載 ZIP 檔案後,登入網站後台左側選單「外掛」的「安裝外掛」,然後選擇上方的「上傳外掛」,把下載回去的 ZIP 外掛打包檔案上傳上去安裝與啟用。
  • 方法二:透過「安裝外掛」的畫面右方搜尋功能,搜尋外掛名稱「Hagakure – Yet Another Error Reporter」來進行安裝。

(建議使用方法二,確保安裝的版本符合當前運作的 WordPress 環境。


0.8.0 | 1.0.3 | 1.0.4 | 1.1.0 | 1.2.0 | 1.3.0 | 1.3.1 | 1.3.2 | trunk |

延伸相關外掛(你可能也想知道)

  • WP Maximum Execution Time Exceeded 》, 注意:請先閱讀安裝說明。WP Maximum Execution Time Exceeded外掛需要您進行網站備份程序。, , WP Maximum Execution Time Exceeded是一個非常簡單且有效...。
  • WPS Bidouille 》繁體中文, WPS Bidouille 提供有關您的 WordPress 的資訊並包含優化工具。, 您將能夠了解有關您伺服器的所有資訊,優化某些設定並下載這些值的 TXT 報告。, ,...。
  • Link Juice Keeper 》錯誤 404 ( 找不到頁面 ) 很常見,也是造成搜尋引擎,例如 Google,把網站排名降低的主要原因之一。處理 404 錯誤對於非技術人員來說可能相當複雜。有了這個...。
  • Fatal Error Notify 》該外掛在偵測到網站發生致命錯誤(或其他錯誤層級,可配置)時,會發送電子郵件通知給您。, 與傳統的運行時間監控服務不同,這個外掛可以在偵測到任何頁面或...。
  • Enable CORS 》外掛會收集網站 URL 與啟用的外掛列表,以提供支援。但不會分享給第三方。本外掛可幫助解決CORS問題,讓您輕鬆存取跨域資源。只需幾個簡單點擊,就能在網站上...。
  • 410 for WordPress 》此外掛會對你的網誌上已經不存在的文章發出 HTTP 410 回應。當你刪除一篇文章或頁面時,此外掛會記錄該網址,並在該網址被請求時發出 410 回應。你也可以手動...。
  • WordPress Error Monitoring by Bugsnag 》Bugsnag 是一個 WordPress 外掛程式,可以自動偵測你的 WordPress 網站上的錯誤和當機問題,並透過電子郵件、聊天或工單系統通知你。, 所有的網站都有可能會...。
  • Rollbar 》Rollbar 蒐集您的應用程式中發生的錯誤、通知並分析這些錯誤,以方便您進行除錯並加以修復。, 此外掛可將 Rollbar 整合到 WordPress 安裝程式中。, 透過這裡...。
  • Better 404 Redirect To Homepage 》, 此外掛已被整合至Slim SEO外掛中,並將由Slim SEO維護。請改使用Slim SEO外掛。, , 避免404錯誤,因為當你有許多404連結時,它會對SEO產生嚴重的影響。404...。
  • Custom Error Pages 》WordPress 內建自訂 404 頁面支援所有主題。但是其他常見錯誤如 401 和 403 呢?你只能看到 Web Server 提供的平庸錯誤頁面。, 使用此外掛,你可以輕鬆建立任...。
  • Custom Error Messages for Gravity Forms 》這個外掛可以讓您為GravityForms的輸入欄位自訂錯誤訊息。我們支援必填欄位、唯一性驗證以及電子郵件格式驗證錯誤訊息的自訂。, 連結, , 網站, 支援, 。
  • BugFu Console Debugger 》使用瀏覽器控制台(不需要擴充)將您的佈景主題/外掛 PHP 代碼記錄/除錯。專為佈景主題和外掛開發人員製作。, 如何檢查 BugFu 是否運作, 打開您的瀏覽器控制...。
  • F4 Error Pages 》有時候 WordPress 預設的錯誤頁面處理功能不夠,因為它只顯示簡單的文字,或者您必須建立包含 (更多) 靜態內容的自訂 404 模板。, F4 Error Pages 允許您將任...。
  • WP Output Log File 》這個外掛可以控制輸出日誌檔案,無論是否開啟 WP_DEBUG 模式。, 使用此外掛,您可以指定輸出目錄和檔案名稱,並可下載和刪除檔案。, 除此之外,您還可以指定...。
  • Safe Mode 》此外掛可為 WordPress 啟用安全模式,這意味著:, , 不會載入任何外掛。, 會臨時啟用預設佈景主題(若已安裝)。, , 為什麼有用?, 當 WordPress 網站出現問...。

文章
Filter
Apply Filters
Mastodon