設定應該報告何種 PHP 錯誤

error_reporting

(PHP 4, PHP 5, PHP 7, PHP 8)

error_reporting設定應該報告何種 PHP 錯誤

說明

error_reporting(?int $error_level = null): int

error_reporting() 函式能夠在執行時設定 error_reporting 指令。 PHP 有諸多錯誤級別,使用該函式可以設定在指令碼執行時的級別。 如果沒有設定可選參數 error_levelerror_reporting() 僅會返回目前的錯誤報告級別。

參數

error_level

新的 error_reporting 級別。 可以是一個位掩碼也可以是一個已命名的常量。 強烈建議使用已命名的常量,以確保相容將來的版本。 由於錯誤級別的新增、整數取值範圍的增加, 較久的基於整數的錯誤級別不會總是和預期的表現一致。

可用的錯誤級別常量及其實際含義描述在了 predefined constants 中。

返回值

返回舊的 error_reporting 級別,或者在 error_level 參數未給出時返回目前的級別。

更新日誌

版本 說明
8.0.0 error_level 現在可以為空。

範例

示例 #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 錯誤
error_reporting(E_ALL);

// 報告所有 PHP 錯誤
error_reporting(-1);

// 和 error_reporting(E_ALL); 一樣
ini_set('error_reporting'E_ALL);

?>

註釋

小技巧

傳入 -1 的值將盡可能顯示所有錯誤, 甚至包括將來 PHP 可能加入的新的錯誤級別和常量。 常量 E_ALL 有同樣的行為。

參見

發佈留言

發佈留言必須填寫的電子郵件地址不會公開。 必填欄位標示為 *