首頁 > 後端開發 > php教程 > 帶你了解PHP中error_reporting函數的用法

帶你了解PHP中error_reporting函數的用法

巴扎黑
發布: 2023-03-14 19:28:01
原創
1366 人瀏覽過

這篇文章主要介紹了PHP中error_reporting函數用法詳細介紹的相關資料,需要的朋友可以參考下

PHP中error_reporting函數用法詳細介紹

#PHP中錯誤的處理會用到error_reporting函數,看到最多的是error_reporting(E_ALL ^ E_NOTICE),這個是什麼意思呢?下面我們具體分析error_reporting函數。

定義用法

error_reporting() 設定 PHP 的報錯等級並傳回目前層級。

語法


error_reporting(report_level)
登入後複製

如果參數 report_level 未指定,目前報錯等級將會被傳回。以下幾項是report_level 可能的值:

##描述1E_ERROR致命的執行階段錯誤。無法恢復的錯誤。停止執行腳本。 2E_WARNING非致命的執行階段錯誤。腳本的執行並沒有停止。 4E_PARSE編譯時錯誤。 8E_NOTICE執行時間提醒。 16E_CORE_ERROR在PHP啟動時的致命錯誤。這就好比一個在PHP核心的E_ERROR32E_CORE_WARNING在PHP啟動時的非致命的錯誤。這就好比一個在PHP核心E_WARNING警告64E_COMPILE_ERROR#致命的編譯時錯誤。 這就像由Zend腳本引擎產生了一個E_ERROR128E_COMPILE_WARNING非致命的編譯時錯誤,由Zend腳本引擎產生了一個E_WARNING警告256E_USER_ERROR使用者自訂的致命錯誤512E_USER_WARNING使用者自訂的警告(非致命性錯誤)1024E_USER_NOTICE使用者自定義的提醒(經常是bug,也可能是有意的)2048E_STRICT編碼標準化警告(建議如何修改以向前相容)4096E_RECOVERABLE_ERROR接近致命的運行時錯誤,若未被捕獲則視同E_ERROR#8191E_ALL除E_STRICT外的所有錯誤
#值常數
PHP預設不開啟錯誤,所以你需要配置php.ini檔案:


將display_errors = Off 改為display_errors = On


另外還要配置錯誤級別,因為PHP 預設是顯示所有錯誤的,而有些無害的提示我們不需要,所以設定如下:


將error_reporting = E_ALL 改為error_reporting = E_ALL & ~E_NOTICE


#在PHP 程式碼中運用範例:


提示:任意數目的以上選項都可以用「或」來連接(用OR 或|),這樣可以報告所有需要的各層級錯誤。例如,下面的程式碼關閉了使用者自訂的錯誤和警告,執行了某些操作,然後恢復到原始的報錯等級:



<?php
 
//禁用错误报告
 
error_reporting(0);
 
//报告运行时错误
 
error_reporting(E_ERROR | E_WARNING | E_PARSE);
 
//报告所有错误
 
error_reporting(E_ALL);
 
?>
登入後複製
了解error_reporting函數是如何使用的,再看error_reporting(E_ALL ^ E_NOTICE) 這段程式碼,意思是顯示除去E_NOTICE 之外的所有錯誤訊息。

以上是帶你了解PHP中error_reporting函數的用法的詳細內容。更多資訊請關注PHP中文網其他相關文章!

相關標籤:
來源:php.cn
本網站聲明
本文內容由網友自願投稿,版權歸原作者所有。本站不承擔相應的法律責任。如發現涉嫌抄襲或侵權的內容,請聯絡admin@php.cn
熱門教學
更多>
最新下載
更多>
網站特效
網站源碼
網站素材
前端模板