天天看點

日志-php-error錯誤日志檢視

前言:

對于我們做php開發的人員,上了生産環境,一定要把相關debug,display_errors錯誤提示等關掉。誰還難免不犯個錯呢?這樣能防止非緻命性報錯下,導緻項目路徑、資料庫等資訊洩漏。

問:那麼問題來了,我們在生産該如何檢視php等相關錯誤呢?

答: 記錄到錯誤日志裡。error.log (或直接發送到syslog)

下邊就如何配置和檢視日志作出簡單叙述。

一.相關配置

需要将php.ini中的配置指令做如下修改: 

1. error_reporting  =  E_ALL             ;将會向PHP報告發生的每個錯誤   

2. display_errors = Off                 ;不顯示滿足上條 指令所定義規則的所有錯誤報告   

3. log_errors = On                    ;開啟錯誤日志   

4. log_errors_max_len = 1024               ;設定每個日志項的最大長度   

5. error_log = /var/php_errors.log            ;指定産生的 錯誤報告寫入的日志檔案位置  

PHP的配置檔案按上面的方式設定完成以後,并重新啟動Web伺服器。這樣,在執行PHP的任何腳本檔案時,所産生的所有錯誤報告都不會在浏覽器中顯示,而會記錄在自己指定的錯誤日志/usr/local/error.log中。此外,不僅可以記錄滿足error_reporting所定義規則的所有錯誤,

而且還可以使用PHP中的error_log()函數,送出一個使用者自定義的錯誤資訊 。

二.檢視存放位址

1.通過php.ini來檢視錯誤日志存放位址

 echo '<?php phpinfo(); ?>' | php 2>&1 |grep -i error_log      

或者在一個php檔案中輸出 phpinfo();檢視錯誤日志存放位置

2.檢視日志存放位置

vi /etc/php.ini      
日志-php-error錯誤日志檢視

3.檢視日志:

tail -f -50 /var/php_errors.log      
日志-php-error錯誤日志檢視

除了一般的錯誤輸出之外,PHP還允許向系統syslog中發送定制的消息。雖然通過前面介紹的error_log()函數,也可以向syslog中發送定制的消息,但在PHP中為這個特性提供了需要一起使用的4個專用函數。這裡就不介紹了。

參考位址:

PHP錯誤日志: http://blog.csdn.net/breeze_life/article/details/9368575

系統日志:記錄系統相關資訊:  http://blog.csdn.net/ty_hf/article/details/55511624

apache通路日志與錯誤日志:  http://blog.csdn.net/ty_hf/article/details/55504719

nginx通路日志與錯誤日志:  http://blog.csdn.net/ty_hf/article/details/55518070

php-fpm慢日志  :檢測執行較慢的PHP腳本:  http://blog.csdn.net/ty_hf/article/details/55504172

php錯誤日志:檢測php運作時或使用者自記錄錯誤日志:  http://blog.csdn.net/ty_hf/article/details/55505262

mysql慢日志:記錄mysql伺服器中影響性能的SQL:  http://blog.csdn.net/ty_hf/article/details/55504172

本文位址:http://blog.csdn.net/ty_hf/article/details/  55505262