如果你想PHP页面上显示运行时错误,您必须启用display_errors,无论是在php.ini或使用该ini_set功能。
您可以使用error_reporting(或在ini中)接受E_*常数的函数(按位运算符组合)选择要显示的错误。
PHP可以根据html_errors设置以文本或HTML格式显示错误。
示例
ini_set("display_errors", true); ini_set("html_errors", false); // 以纯文本显示错误 error_reporting(E_ALL & ~E_USER_NOTICE); // 显示除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在生产阶段禁用公开显示以隐藏脚本的内部。