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中文網其他相關文章!