首頁  >  文章  >  後端開發  >  php error_reporting()函數用法詳解

php error_reporting()函數用法詳解

怪我咯
怪我咯原創
2017-07-10 14:39:201529瀏覽

php中我們對錯誤的處理會常用到error_reporting函數了,

error_reporting() 函數跪地你給應該報告何種 PHP 錯誤。此函數能夠在執行時間設定 error_reporting 指令。

PHP 有許多錯誤級別,使用該函數可以設定在腳本運行時的級別。如果沒有設定可選參數 level,error_reporting() 僅會傳回目前的錯誤報告等級。

大家可以看到最多的是error_reporting(E_ALL ^ E_NOTICE)了,這個到底什麼意思呢,下面我來看看。

首先要知道error_reporting()函數是用來設定錯誤等級並傳回目前的等級。它有14個錯誤級別,如下:

1    E_ERROR     致命的运行时错误。 错误无法恢复过来。脚本的执行被暂停
2    E_WARNING    非致命的运行时错误。 脚本的执行不会停止
4    E_PARSE     编译时解析错误。解析错误应该只由分析器生成
8    E_NOTICE     运行时间的通知。
16    E_CORE_ERROR   在PHP启动时的致命错误。这就好比一个在PHP核心的E_ERROR
32    E_CORE_WARNING  在PHP启动时的非致命的错误。这就好比一个在PHP核心E_WARNING警告
64    E_COMPILE_ERROR 致命的编译时错误。 这就像由Zend脚本引擎生成了一个E_ERROR
128   E_COMPILE_WARNING 非致命的编译时错误,由Zend脚本引擎生成了一个E_WARNING警告
256   E_USER_ERROR   致命的用户生成的错误。
512   E_USER_WARNING  非致命的用户生成的警告。 
1024   E_USER_NOTICE  用户生成的通知。
2048   E_STRICT     运行时间的通知。

4096   E_RECOVERABLE_ERROR 捕捉致命的错误。

8191   E_ALL来     所有的错误和警告。

好像php預設是不開啟錯誤的,所以你需要配置php.ini檔案:

display_errors = Off 改為display_errors = On

另外也要設定錯誤等級:將

error_reporting = E_ALL     改為:

#error_reporting = E_ALL & ~E_NOTICE

應該是php預設是顯示所有錯誤的,而有些無害的提示我們不需要顯示,所以設定如上!

也可以在php程式碼運用如下:

<?php
//禁用错误报告,也就是不显示错误
error_reporting(0);
//报告运行时错误
error_reporting(E_ERROR | E_WARNING | E_PARSE);
//报告所有错误
error_reporting(E_ALL);
?>

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

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