我們知道產品的生產環境肯定是不給予顯示錯誤的,於是:
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選項關閉,以免因為這些錯誤所透露的路徑 資料庫連線 資料表等資訊而遭到黑客攻擊。但是,任何乙個產品在投入使用後,都難 免會有錯誤出現,那麼如何記錄一些對開發者有用的錯誤報告呢?我們可以在單獨的文字檔案中將錯誤報告作為...