2016-10-31 30 views
1

我正在處理遺留下來的PHP應用程序,這個應用程序沒有經過很好的測試,並且不斷產生所有類型的PHP錯誤。哨兵將我的PHP服務器重載

我已經設置了Sentry以記錄所有錯誤,以避免處理登錄服務器和審閱日誌文件。

但是,只要我設置了要發送給E_ALL的錯誤報告。 Sentry會瓶頸服務器並導致對服務器的請求崩潰。

我想弄清楚如何設置足夠的資源來處理由Sentry處理的所有PHP錯誤。

+0

您是否需要記錄所有錯誤?你可以設置必要的。 – krasipenkov

+0

可能不是,但是這個遺留應用程序特別容易出錯,所以我想知道所有錯誤的發生位置。 – jphilung

回答

1

我會給一點點瘋狂的做法。如果錯誤有那麼多那麼你爲什麼不:

  1. 創建自己的錯誤處理 - 有許多PHP的例子,你可以用

  2. 通過保存信息處理自己的方式錯誤這真的是需要的

  3. 現在來了「瘋狂的一部分」 - 將數據保存在memcache中。除了繁重的I/O操作或壓倒性的MySQL之外,您可以設置memcache,並讓其在5分鐘內刷新一次,以刷新日誌文件或其他地方的數據(您可以根據應用程序負載設置此刷新週期)。你甚至可以爲沖洗創建一個cron作業。

1

雖然你有這麼多的錯誤,但我建議你從小於E_ALL開始,直到你修復了最嚴重的錯誤。請嘗試:

error_reporting(E_ERROR | E_WARNING | E_PARSE);