?
This document uses PHP Chinese website manual Release
錯誤日志對于發(fā)現(xiàn)程序中的錯誤是非常有幫助的,但是有些時候它也會將應用程序的結構暴露給外部。為了有效的保護你的應用程序不受到由此而引發(fā)的問題。你需要將在你的服務器上使用開發(fā)和生產(chǎn)(線上)兩套不同的配置。
開發(fā)環(huán)境
為了在開發(fā)環(huán)境中顯示所有可能的錯誤,將你的 php.ini 進行如下配置:
display_errors = On display_startup_errors = On error_reporting = -1 log_errors = On
將值設為 -1 將會顯示出所有的錯誤,甚至包括在未來的 PHP 版本中新增加的類型和參數(shù)。 和 PHP 5.4 起開始使用的 E_ALL 是相同的。-php.net
E_STRICT 類型的錯誤是在 5.3.0 中被引入的,并沒有被包含在 E_ALL 中。然而從 5.4.0 開始,它被包含在了 E_ALL 中。這意味著什么?這表示如果你想要在 5.3 中顯示所有的錯誤信息,你需要使用 -1 或者 E_ALL | E_STRICT。
不同 PHP 版本下開啟全部錯誤顯示
< 5.3 -1 或 E_ALL
5.3 -1 或 E_ALL | E_STRICT
> 5.3 -1 或 E_ALL
生產(chǎn)環(huán)境
為了在生產(chǎn)環(huán)境中隱藏錯誤顯示,將你的 php.ini 進行如下配置:
display_errors = Off display_startup_errors = Off error_reporting = E_ALL log_errors = On
當在生產(chǎn)環(huán)境中使用這個配置時,錯誤信息依舊會被照常存儲在 web 服務器的錯誤日志中,唯一不同的是將不再顯示給用戶。