PHP中的Display_Errors
Display_Errors是PHP的一個內置函數,它在程序出錯時顯示錯誤信息。在PHP5.3版本以前是默認開啟的,即錯誤信息會直接輸出給用戶。但是在PHP5.4及以后的版本中,Display_Errors默認關閉了,當發生錯誤時用戶是看不到任何錯誤信息的。
為什么需要開啟Display_Errors?
在不開啟Display_Errors的情況下出錯,程序員很難察覺到錯誤的具體原因,這對于修復程序的Bug非常困難。因此開啟Display_Errors有利于程序員快速發現并處理錯誤。
如何開啟Display_Errors?
開啟Display_Errors的方法非常簡單,我們只需要在程序的入口處添加一行代碼即可:
ini_set('display_errors', 1); error_reporting(E_ALL);
E_ALL表示顯示PHP中所有錯誤,包括Notice、Warning和Fatal error等。如果你只希望顯示Fatal error錯誤,可以把error_reporting改成E_ERROR。
如何把錯誤信息輸出到文件中?
開啟Display_Errors后我們很容易看到錯誤信息,但是在線上環境中不能把錯誤信息直接顯示給用戶,我們可以把錯誤信息輸出到日志文件中。這樣便于查找問題并及時處理。
我們可以使用PHP中的error_log函數把錯誤信息輸出到文件中,示例代碼如下:
ini_set("log_errors", 1); ini_set("error_log", "/tmp/php-error.log"); error_reporting(E_ALL);
以上代碼指定了日志文件的路徑,當發生錯誤時,錯誤信息會被寫入到該文件中。
注意事項
在開啟Display_Errors時,需要注意以下幾點:
- 在調試階段可以開啟Display_Errors,但是上線后應該關閉;
- 開啟Display_Errors后程序的安全性會受到威脅,因此應該在清楚風險的情況下開啟;
- 錯誤信息會暴露給用戶,應該單獨處理特定的錯誤信息輸出。
結論
在開發階段我們可以開啟Display_Errors以便快速定位問題,但是在上線后應該關閉,同時將錯誤信息輸出到文件中以便管理和處理異常。以上是Display_Errors的相關介紹,希望對大家有所幫助。