2017-01-03 166 views
0

我目前正在使用Web門戶。這是必要的管理員都能夠看到所發生的錯誤,因爲我使用了下面的語句,使錯誤報告:如何緩衝PHP錯誤

ini_set('display_errors', 1); 
ini_set('display_startup_errors', 1); 
error_reporting(E_ALL); 
ob_start(); 

在結束我的腳本請檢查是否允許用戶查看錯誤。如果是:

echo ob_get_clean(); 

最大的問題是:致命錯誤仍然是例如仍顯示爲常規用戶。如何緩衝致命錯誤報告?

回答

0

致命錯誤將停止執行。以後你不能留下任何東西,因爲到那時候執行會停止。

您可以使用error_reporting在運行時更改錯誤報告級別。檢查docs,您將看到如何降低報告級別。

仍然,將更好地抑制生產的所有錯誤報告,並將其發送到日誌文件。

+0

然後至少可以防止在不更改ini之前顯示它嗎? – HelloToYou

+0

設置錯誤處理程序並輸出所有錯誤會更好嗎? – HelloToYou

+0

最好不要緩衝所有錯誤,而是直接記錄它們。但是,當然,如果你需要爲某些非常特定的日誌需求這樣做,錯誤處理程序會更好。 – yivi