顯示錯誤

如果你希望 PHP 在頁面上顯示執行時錯誤,則必須在 php.ini 或使用 ini_set 函式啟用 display_errors

你可以使用 error_reporting(或 ini)函式選擇要顯示的錯誤,該函式接受 E_*常量 ,使用按位運算子組合。

PHP 可以顯示文字或 HTML 格式的錯誤,具體取決於 html_errors 設定。

例:

ini_set("display_errors", true);
ini_set("html_errors", false); // Display errors in plain text
error_reporting(E_ALL & ~E_USER_NOTICE); // Display everything except E_USER_NOTICE

trigger_error("Pointless error"); // E_USER_NOTICE
echo $nonexistentVariable; // E_NOTICE
nonexistentFunction(); // E_ERROR

純文字輸出:( HTML 格式在實現之間有所不同)

Notice: Undefined variable: nonexistentVariable in /path/to/file.php on line 7

Fatal error: Uncaught Error: Call to undefined function nonexistentFunction() in /path/to/file.php:8
Stack trace:
#0 {main}
  thrown in /path/to/file.php on line 8

注意: 如果你在 php.ini 中禁用了錯誤報告並在執行時啟用它,則不會顯示某些錯誤(例如解析錯誤),因為它們是在應用執行時設定之前發生的。

處理 error_reporting 的常用方法是在開發過程中使用 E_ALL 使其完全啟用,並禁止在生產階段使用 display_errors 公開顯示它以隱藏指令碼的內部。