前言: 對於我們做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
3.查看日誌:
tail -f -50 /var/php_errors.log
除了一般的錯誤輸出之外,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