您好,登錄后才能下訂單哦!
這篇文章主要介紹“php.ini如何配置錯誤日志”,在日常操作中,相信很多人在php.ini如何配置錯誤日志問題上存在疑惑,小編查閱了各式資料,整理出簡單好用的操作方法,希望對大家解答”php.ini如何配置錯誤日志”的疑惑有所幫助!接下來,請跟著小編一起來學習吧!
php.ini配置錯誤日志的方法:1、打開php.ini配置文件,修改“display_errors = On”;2、記錄到error_log指定的文件中;3、設置“error_reporting”。
本文操作環境:Windows7系統、PHP7.1版,DELL G3電腦
php.ini怎么配置錯誤日志?
php.ini配置--記錄PHP錯誤日志
PHP.ini 中關于錯誤日志的配置項:
; display_errors
; Default Value: On
; Development Value: On
; Production Value: Off
; display_startup_errors
; Default Value: Off
; Development Value: On
; Production Value: Off
; error_reporting
; Default Value: E_ALL & ~E_NOTICE
; Development Value: E_ALL | E_STRICT
; Production Value: E_ALL & ~E_DEPRECATED
; html_errors
; Default Value: On
; Development Value: On
; Production value: Off
; log_errors
; Default Value: Off
; Development Value: On
; Production Value: On
display_errors = Off
error_reporting = E_ALL & ~E_NOTICE
log_errors = On
error_log = "e:/wamp/logs/php_error.log"
1.) display_errors = On
開啟狀態下,若出現錯誤,則報錯,出現錯誤提示
dispaly_errors = Off
關閉狀態下,若出現錯誤,則提示:服務器錯誤。但是不會出現錯誤提示
錯誤回顯,一般常用語開發模式,但是很多應用在正式環境中也忘記了關閉此選項。錯誤回顯可以暴露出非常多的敏感信息,為攻擊者下一步攻擊提供便利。上線后推薦關閉此選項。
2.)log_errors
在正式環境下用這個就行了,把錯誤信息記錄在日志里。正好可以關閉錯誤回顯。
默認是記錄到WEB服務器的日志文件里,比如Apache的error.log文件。 當然也可以記錄 到error_log 指定的文件中。
3)error_reporting
error_reporting = E_ALL & ~E_NOTICE
參考:http://hi.baidu.com/allense7en/item/6eb4a4ab0d596a15a8cfb7b4
可以將數字加起來得到想要的錯誤報告等級。
E_ALL - 所有的錯誤和警告(不包括 E_STRICT)
E_ERROR - 致命性的運行時錯誤
E_WARNING - 運行時警告(非致命性錯誤)
E_PARSE - 編譯時解析錯誤
E_NOTICE - 運行時提醒(這些經常是你代碼中的bug引起的,也可能是有意的行為造成的。)
E_STRICT - 編碼標準化警告,允許PHP建議如何修改代碼以確保最佳的互操作性向前兼容性。
E_CORE_ERROR - PHP啟動時初始化過程中的致命錯誤
E_CORE_WARNING - PHP啟動時初始化過程中的警告(非致命性錯)
E_COMPILE_ERROR - 編譯時致命性錯
E_COMPILE_WARNING - 編譯時警告(非致命性錯)
E_USER_ERROR - 用戶自定義的錯誤消息
E_USER_WARNING - 用戶自定義的警告消息
E_USER_NOTICE - 用戶自定義的提醒消息 如果設置為:E_ALL | E_STRICT,則表示記錄所有的錯誤信息
,可能會導致網站出現一大堆的錯誤代碼;但是對于程序員來說應該說是一件好事,可以把代碼優化到最
優; 一些非致命性錯誤雖然不影響程序的運行,但是會使PHP的負擔加重,通常是增加了網站進程(例如
IIS的應用程序池)的負擔。
本函數用來配置錯誤信息回報的等級,參數 level 是一個整數的位遮罩 (bitmask),見下表。
遮罩值 表示名稱
1 E_ERROR
2 E_WARNING
4 E_PARSE
8 E_NOTICE
16 E_CORE_ERROR
32 E_CORE_WARNING
64 E_COMPILE_ERROR
128 E_COMPILE_WARNING
256 E_USER_ERROR
512 E_USER_WARNING
1024 E_USER_NOTICE
2047 E_ALL
2048 E_STRICT
E_NOTICE 表示一般情形不記錄,只有程序有錯誤情形時才用到,例如企圖存取一個不存在的變量,或是呼叫 stat() 函數檢視不存在的文件。
E_WARNING 通常都會顯示出來,但不會中斷程序的執行。這對除錯很有效。例如:用有問題的正則表達式呼叫 ereg()。
E_ERROR 通常會顯示出來,亦會中斷程序執行。意即用這個遮罩無法追查到內存配置或其它的錯誤。
E_PARSE 從語法中解析錯誤。
E_CORE_ERROR 類似 E_ERROR,但不包括 PHP 核心造成的錯誤。
E_CORE_WARNING 類似 E_WARNING,但不包括 PHP 核心錯誤警告。
error_reporting( 7 ) = error_reporting( 1+2+4) = error_reporting(E_ERROR | E_WARING | E_PARSE)
任意數目的以上選項都可以用“或”來連接(用 OR 或 |),這樣可以報告所有需要的各級別錯誤。例如,下面的代碼關閉了用戶自定義的錯誤和警告,執行了某些操作,然后恢復到原始的報錯級別:
<?php //禁用錯誤報告 error_reporting(0); //報告運行時錯誤 error_reporting(E_ERROR | E_WARNING | E_PARSE); //報告所有錯誤 error_reporting(E_ALL); ?>
到此,關于“php.ini如何配置錯誤日志”的學習就結束了,希望能夠解決大家的疑惑。理論與實踐的搭配能更好的幫助大家學習,快去試試吧!若想繼續學習更多相關知識,請繼續關注億速云網站,小編會繼續努力為大家帶來更多實用的文章!
免責聲明:本站發布的內容(圖片、視頻和文字)以原創、轉載和分享為主,文章觀點不代表本網站立場,如果涉及侵權請聯系站長郵箱:is@yisu.com進行舉報,并提供相關證據,一經查實,將立刻刪除涉嫌侵權內容。