显示错误

如果你希望 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 公开显示它以隐藏脚本的内部。