error_reporting()函數(shù)設(shè)置應(yīng)該報(bào)告何種 PHP 錯(cuò)誤
int error_reporting ( [int $level] );
error_reporting() 函數(shù)能夠在運(yùn)行時(shí)設(shè)置 error_reporting 指令。 PHP 有諸多錯(cuò)誤級(jí)別,使用該函數(shù)可以設(shè)置在腳本運(yùn)行時(shí)的級(jí)別。 如果沒(méi)有設(shè)置可選參數(shù) level, error_reporting() 僅會(huì)返回當(dāng)前的錯(cuò)誤報(bào)告級(jí)別。
序號(hào) | 參數(shù)及說(shuō)明 |
---|---|
1 | level(可選) 它指定當(dāng)前腳本的錯(cuò)誤報(bào)告級(jí)別。接受數(shù)值和常量名稱。 |
值 | 常量 | 描述 |
---|---|---|
1 | E_ERROR | 運(yùn)行時(shí)致命的錯(cuò)誤。不能修復(fù)的錯(cuò)誤。停止執(zhí)行腳本。 |
2 | E_WARNING | 運(yùn)行時(shí)非致命的錯(cuò)誤。沒(méi)有停止執(zhí)行腳本。 |
4 | E_PARSE | 編譯時(shí)的解析錯(cuò)誤。解析錯(cuò)誤應(yīng)該只由解析器生成。 |
8 | E_NOTICE | 運(yùn)行時(shí)的通知。腳本發(fā)現(xiàn)可能是一個(gè)錯(cuò)誤,但也可能在正常運(yùn)行腳本時(shí)發(fā)生。 |
16 | E_CORE_ERROR | PHP 啟動(dòng)時(shí)的致命錯(cuò)誤。這就如同 PHP 核心的 E_ERROR。 |
32 | E_CORE_WARNING | PHP 啟動(dòng)時(shí)的非致命錯(cuò)誤。這就如同 PHP 核心的 E_WARNING。 |
64 | E_COMPILE_ERROR | 編譯時(shí)致命的錯(cuò)誤。這就如同由 Zend 腳本引擎生成的 E_ERROR。 |
128 | E_COMPILE_WARNING | 編譯時(shí)非致命的錯(cuò)誤。這就如同由 Zend 腳本引擎生成的 E_WARNING。 |
256 | E_USER_ERROR | 用戶生成的致命錯(cuò)誤。這就如同由程序員使用 PHP 函數(shù) trigger_error() 生成的 E_ERROR。 |
512 | E_USER_WARNING | 用戶生成的非致命錯(cuò)誤。這就如同由程序員使用 PHP 函數(shù) trigger_error() 生成的 E_WARNING。 |
1024 | E_USER_NOTICE | 用戶生成的通知。這就如同由程序員使用 PHP 函數(shù) trigger_error() 生成的 E_NOTICE。 |
2048 | E_STRICT | 運(yùn)行時(shí)的通知。PHP 建議您改變代碼,以提高代碼的互用性和兼容性。 |
4096 | E_RECOVERABLE_ERROR | 可捕獲的致命錯(cuò)誤。這就如同一個(gè)可以由用戶定義的句柄捕獲的 E_ERROR(見(jiàn) set_error_handler())。 |
8191 | E_ALL | 所有的錯(cuò)誤和警告的級(jí)別,除了 E_STRICT(自 PHP 6.0 起,E_STRICT 將作為 E_ALL的一部分)。 |
返回舊的 error_reporting 級(jí)別,或者在 level 參數(shù)未給出時(shí)返回當(dāng)前的級(jí)別。
以下是此error_reporting函數(shù)的用法-
<?php // 關(guān)閉所有PHP錯(cuò)誤報(bào)告 error_reporting(0); // 報(bào)告簡(jiǎn)單的運(yùn)行錯(cuò)誤 error_reporting(E_ERROR | E_WARNING | E_PARSE); // 報(bào)告 E_NOTICE也挺好 (報(bào)告未初始化的變量 // 或者捕獲變量名的錯(cuò)誤拼寫(xiě)) error_reporting(E_ERROR | E_WARNING | E_PARSE | E_NOTICE); // 除了 E_NOTICE,報(bào)告其他所有錯(cuò)誤 error_reporting(E_ALL ^ E_NOTICE); // 報(bào)告所有 PHP 錯(cuò)誤 (參見(jiàn) changelog) error_reporting(E_ALL); // 報(bào)告所有 PHP 錯(cuò)誤 error_reporting(-1); // 和 error_reporting(E_ALL); 一樣 ini_set('error_reporting', E_ALL); ?>