預定義常量
下列常量作為 PHP 核心的一部分總是可用的。
注意: 你可以使用它們在 php.ini 中的常量名稱; 但是在 PHP 之外,例如在 httpd.conf 之中, 你必須使用二進制位掩碼來代替。
| 值 | 常量 | 說明 | 備註 |
|---|---|---|---|
| 1 | E_ERROR (int) | 致命的執行時錯誤。這類錯誤一般是不可恢復的情況,例如記憶體分配導致的問題。後果是導致指令碼終止不再繼續執行。 | |
| 2 | E_WARNING (int) | 執行時警告 (非致命錯誤)。僅給出提示資訊,但是指令碼不會終止執行。 | |
| 4 | E_PARSE (int) | 編譯時語法解析錯誤。解析錯誤僅僅由分析器產生。 | |
| 8 | E_NOTICE (int) | 執行時通知。表示指令碼遇到可能會表現爲錯誤的情況,但是在可以正常執行的指令碼裡面也可能會有類似的通知。 | |
| 16 | E_CORE_ERROR (int) | 在 PHP 初始化啟動過程中發生的致命錯誤。該錯誤類似 E_ERROR,但是是由 PHP 引擎核心產生的。 | |
| 32 | E_CORE_WARNING (int) | PHP 初始化啟動過程中發生的警告 (非致命錯誤) 。類似 E_WARNING,但是是由 PHP 引擎核心產生的。 | |
| 64 | E_COMPILE_ERROR (int) | 致命編譯時錯誤。類似 E_ERROR,但是是由 Zend 指令碼引擎產生的。 | |
| 128 | E_COMPILE_WARNING (int) | 編譯時警告 (非致命錯誤)。類似 E_WARNING,但是是由 Zend 指令碼引擎產生的。 | |
| 256 | E_USER_ERROR (int) | 使用者產生的錯誤資訊。類似 E_ERROR,但是是由使用者自己在程式碼中使用 PHP 函式 trigger_error()來產生的。 | |
| 512 | E_USER_WARNING (int) | 使用者產生的警告資訊。類似 E_WARNING,但是是由使用者自己在程式碼中使用 PHP 函式 trigger_error()來產生的。 | |
| 1024 | E_USER_NOTICE (int) | 使用者產生的通知資訊。類似 E_NOTICE,但是是由使用者自己在程式碼中使用 PHP 函式 trigger_error()來產生的。 | |
| 2048 | E_STRICT (int) | 啟用 PHP 對程式碼的修改建議,以確保程式碼具有最佳的互操作性和向前相容性。 | PHP 5.4.0 之前的版本中不包含 E_ALL |
| 4096 | E_RECOVERABLE_ERROR (int) | 可被捕捉的致命錯誤。 它表示發生了一個可能非常危險的錯誤,但是還沒有導致PHP引擎處於不穩定的狀態。 如果該錯誤沒有被使用者自定義控制代碼捕獲 (參見 set_error_handler()),將成為一個 E_ERROR 從而指令碼會終止執行。 | 自 PHP 5.2.0 起 |
| 8192 | E_DEPRECATED (int) | 執行時通知。啟用后將會對在未來版本中可能無法正常工作的程式碼給出警告。 | 自 PHP 5.3.0 起 |
| 16384 | E_USER_DEPRECATED (int) | 使用者產生的警告資訊。 類似 E_DEPRECATED, 但是是由使用者自己在程式碼中使用PHP函式 trigger_error()來產生的。 | 自 PHP 5.3.0 起 |
| 32767 | E_ALL (int) | PHP 5.4.0 之前為 E_STRICT 除外的所有錯誤和警告資訊。 | PHP 5.4.x 中為 32767, PHP 5.3.x 中為 30719, PHP 5.2.x 中為 6143, 更早之前的 PHP 版本中為 2047。 |
上面的值(數值或者符號)用於建立一個二進制位掩碼,來制定要報告的錯誤資訊。可以使用 按位運算子 來組合這些值或者遮蔽某些型別的錯誤。請注意,在 php.ini 之中,只有'|', '~', '!', '^' 和 '&' 會正確解析。