首頁  >  文章  >  後端開發  >  php怎麼修改報錯級別

php怎麼修改報錯級別

青灯夜游
青灯夜游原創
2021-05-25 17:41:442807瀏覽

修改方法:1、php.ini中,找出並修改「error_reporting」項目的值,然後重新啟動web伺服器即可。 2.在PHP檔案中,使用「error_reporting(level)」語句修改,參數level用來規定目前腳本的錯誤報告等級。

php怎麼修改報錯級別

本教學操作環境:windows7系統、PHP7.1版,DELL G3電腦

錯誤報告等級:指定了在什麼情況下,腳本程式碼中的錯誤(這裡的錯誤是廣義的錯誤,包括E_NOTICE注意、E_WARNING警告、E_ERROR致命錯誤等)會以錯誤報告的形式輸出。

php修改錯誤等級的方法

#1、修改PHP的設定檔php.ini

#這種方式設定error_reporting後,重啟web伺服器,就會永久生效。

這裡以xampp整合軟體包為例,開啟設定檔php.ini,查看錯誤報告等級error_reporting的預設值,如下:

error_reporting=E_ALL & ~E_DEPRECATED & ~E_STRICT

意思是報告所有的錯誤,但除了E_DEPRECATED和E_STRICT這兩種。

將其修改為:

error_reporting=E_ALL &  ~E_NOTICE

意思是報告所有的錯誤,但除了E_NOTICE這一種。這也是最常用的錯誤報告級別,它不會報告注意類別(如:使用了未定義的變數)的錯誤。

儲存,重啟web伺服器後生效。

2、使用error_reporting()函數

這種方式設定後,可以立即生效。但僅限於在目前腳本中的error_reporting()函數呼叫的後面區域。

error_reporting(level)

level參數規定目前腳本的錯誤報告級別,可省略。值數字和常數名都能接受,但是,考慮未來的 PHP 版本的兼容性,建議使用常數名。

level參數可以是整數或對應的常數標識符,建議使用常數的形​​式。傳回值為目前位置處起作用的錯誤報告等級的值(整數值)。

下面列舉一些錯誤報告等級:

##描述##1E_ERROR運行時致命的錯誤。不能修復的錯誤。停止執行腳本。 2E_WARNING執行階段非致命的錯誤。沒有停止執行腳本。 4E_PARSE編譯時的解析錯誤。解析錯誤應該只由解析器產生。 8E_NOTICE執行時的通知。腳本發現可能是一個錯誤,但也可能在正常運行腳本時發生。 16E_CORE_ERROR#PHP 啟動時的致命錯誤。這就如同 PHP 核心的 E_ERROR。 32E_CORE_WARNING#PHP 啟動時的非致命錯誤。這就如同 PHP 核心的 E_WARNING。 64E_COMPILE_ERROR編譯時致命的錯誤。這就如同由 Zend 腳本引擎產生的 E_ERROR。 128E_COMPILE_WARNING編譯時非致命的錯誤。這就如同由 Zend 腳本引擎產生的 E_WARNING。 256E_USER_ERROR使用者產生的致命錯誤。這就像是由程式設計師使用 PHP 函數 trigger_error() 產生的 E_ERROR。 512E_USER_WARNING使用者產生的非致命錯誤。這就如同由程式設計師使用 PHP 函數 trigger_error() 產生的 E_WARNING。 1024E_USER_NOTICE用戶產生的通知。這就如同由程式設計師使用 PHP 函數 trigger_error() 產生的 E_NOTICE。 2048E_STRICT#執行時的通知。 PHP 建議您改變程式碼,以提高程式碼的互用性和相容性。 4096E_RECOVERABLE_ERROR可捕獲的致命錯誤。這就如同一個可以由使用者定義的句柄捕獲的 E_ERROR(請參閱 set_error_handler())。 8191E_ALL所有的錯誤和警告的級別,除了 E_STRICT(自 PHP 6.0 起,E_STRICT 將作為 E_ALL的一部分)。
常數
###

示例:

error_reporting(E_ALL ^ E_NOTICE);    // 除了E_NOTICE之外,报告所有的错误
error_reporting(E_ERROR);       // 只报告致命错误
echo error_reporting(E_ERROR | E_WARNING | E_NOTICE);   // 只报告E_ERROR、E_WARNING 和 E_NOTICE三种错误

注意:配置文件php.ini中display_errors的默认值为On,代表显示错误提示,如果设置为Off,就会关闭所有的错误提示。

使用 error_reporting(0) 或者在函数前面加 @,可以抑制错误输出,以防止错误消息泄露敏感信息。 

推荐学习:《PHP视频教程

以上是php怎麼修改報錯級別的詳細內容。更多資訊請關注PHP中文網其他相關文章!

陳述:
本文內容由網友自願投稿,版權歸原作者所有。本站不承擔相應的法律責任。如發現涉嫌抄襲或侵權的內容,請聯絡admin@php.cn