PHP錯誤日誌控制

2021-07-05 10:37:54 字數 1116 閱讀 7032

我們知道產品的生產環境肯定是不給予顯示錯誤的,於是:

php.ini中將 display_errors = off 改為display_errors = on

或者 ini_set('display_errors',0);

其次,我們知道php的錯誤級別是由error_reporting【error_reporting詳細教程】控制的,但是有很多人在生產環境關閉了錯誤資訊提示

error_reporting(0);

其實這種做法,我覺得不科學,在codeigniter框架就是這樣:

if

(defined

('environment'))}

線上的錯誤資訊肯定是要記錄的,error_reporting(0)這樣會導致所有的錯誤資訊不會記錄,應該:

error_reporting = e_all & ~e_notice

,只要display_errors = off,錯誤資訊就不會再頁面上顯示,因為display_errors的優先級別更高。

特別要注意的是:

如果php.ini中log_errors= on,據官方的說法,那麼必須指定error_log檔案,如果沒指定或者指定的檔案沒有許可權寫入,那麼照樣會輸出到正常的輸出渠道,那麼也就使得display_errors 這個指定的off失效,錯誤資訊還是列印了出來。將log_errors = off就行了。

總結下,在生產環境中不現實錯誤資訊還能記錄錯誤日誌:

<?

php/**

* 記錄生產環境錯誤日誌

* * @link

*/error_reporting

(e_all

);ini_set

('display_errors',0

);ini_set

('log_errors',1

);ini_set

('error_log'

,'e:\\'

.date

('y-m-d'

).'_phpddt.com.txt'

);

/php/php-error-log.html 尊重他人勞動成果就是尊重自己!

php錯誤日誌

對於php開發者來說,一旦某個產品投入使用,應該立即將display errors選項關閉,以免因為這些錯誤所透露的路徑 資料庫連線 資料表等資訊而遭到黑客攻擊。但是,任何乙個產品在投入使用後,都難免會有錯誤出現,那麼如何記錄一些對開發者有用的錯誤報告呢?我們可以在單獨的文字檔案中將錯誤報告作為日誌...

php錯誤日誌

display errors 是否顯示錯誤 off遮蔽所有錯誤,on顯示錯誤,錯誤級別要 error reporting 定義,即輸出那些錯誤內容要error reporting定義。開發時可設定為 display errors on,正式環境最好關掉 display errors off,因為顯示...

php錯誤日誌

對於php開發者來說,一旦某個產品投入使用,應該立即將 display errors選項關閉,以免因為這些錯誤所透露的路徑 資料庫連線 資料表等資訊而遭到黑客攻擊。但是,任何乙個產品在投入使用後,都難 免會有錯誤出現,那麼如何記錄一些對開發者有用的錯誤報告呢?我們可以在單獨的文字檔案中將錯誤報告作為...