簡體   English   中英

php異常處理,無error_reporting

[英]php exception handling without error_reporting on

我正在使用舊版應用程序,在該應用程序中,大多數文件的開頭都使用error_reporting(0)禁用了php錯誤報告功能。 該應用程序大多數都能正常運行,但是如果我啟用錯誤報告功能,則會出現很多錯誤,並且執行會在第一個錯誤處停止。 禁用錯誤報告后,錯誤不會記錄在任何地方。 如果啟用錯誤報告,則錯誤日志記錄會很好地工作。 有什么方法可以在不停止執行腳本的情況下啟用錯誤報告,就像錯誤報告已被禁用一樣? 我需要記錄錯誤,但我還需要該應用程序才能繼續按原樣運行。

確保這在您的php.ini文件中:

display_errors = Off
error_log = /var/log/php/error.log
log_errors = On

沒有。

錯誤的確切定義是程序遇到了無法恢復的狀態。 如果它是可恢復/可避免/非破壞性的,則可能是警告。

異常是不同的,它們是可捕獲的,您可以使用try / catch決定如何處理它們。 我在這里看到很多代碼,人們只是忽略任何捕獲的異常,然后繼續進行,好像什么都沒發生一樣,但這通常是一個大錯誤,也是他們有問題的原因,因此需要SO帖子。 在顯示錯誤並停止執行之前,應通過清理程序[完整的文件寫入,關閉句柄/連接/等]處理大多數異常。

其中一些可以通過set_error_handler()完成,但是在自定義錯誤處理程序結束時仍應停止執行。

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM