(PHP 4, PHP 5, PHP 7, PHP 8)
error_reporting — 設置應該報告何種 PHP 錯誤
$level
= ?): int
error_reporting() 函數(shù)能夠在運行時設置 error_reporting 指令。
PHP 有諸多錯誤級別,使用該函數(shù)可以設置在腳本運行時的級別。
如果沒有設置可選參數(shù) level
,
error_reporting() 僅會返回當前的錯誤報告級別。
level
新的 error_reporting 級別。 可以是一個位掩碼也可以是一個已命名的常量。 強烈建議使用已命名的常量,以確保兼容將來的版本。 由于錯誤級別的添加、整數(shù)取值范圍的增加, 較久的基于整數(shù)的錯誤級別不會總是和預期的表現(xiàn)一致。
可用的錯誤級別常量及其實際含義描述在了 predefined constants 中。
返回舊的 error_reporting 級別,或者在 level
參數(shù)未給出時返回當前的級別。
版本 | 說明 |
---|---|
5.4.0 | E_STRICT 成為 E_ALL 的一部分 |
5.3.0 | 引入 E_DEPRECATED 和 E_USER_DEPRECATED 。 |
5.2.0 | 引入 E_RECOVERABLE_ERROR 。 |
示例 #1 error_reporting() 范例
<?php
// 關閉所有PHP錯誤報告
error_reporting(0);
// Report simple running errors
error_reporting(E_ERROR | E_WARNING | E_PARSE);
// 報告 E_NOTICE也挺好 (報告未初始化的變量
// 或者捕獲變量名的錯誤拼寫)
error_reporting(E_ERROR | E_WARNING | E_PARSE | E_NOTICE);
// 除了 E_NOTICE,報告其他所有錯誤
error_reporting(E_ALL ^ E_NOTICE);
// 報告所有 PHP 錯誤 (參見 changelog)
error_reporting(E_ALL);
// 報告所有 PHP 錯誤
error_reporting(-1);
// 和 error_reporting(E_ALL); 一樣
ini_set('error_reporting', E_ALL);
?>
雖然 error_reporting 增強了
包含 E_STRICT
錯誤的能力(反之亦然),但大多數(shù)
E_STRICT
的錯誤是在編譯時被評估的,
所以不會在文件中被報告。
傳入 -1
的值將盡可能顯示所有錯誤,
甚至包括將來 PHP 可能加入的新的錯誤級別和常量。
至 PHP 5.4,常量 E_ALL
有同樣的行為。