当我在PHP中开发REST API时,我使用的是application/json
输出,所以当我在浏览器中测试时遇到错误时,它们看起来像这样:
<b>Fatal error</b>: Uncaught exception 'Exception' with message 'PDO caught an error:
array(3) {
[0]=>
string(5) "42000"
[1]=>
int(1065)
[2]=>
string(15) "Query was empty"
}
当我得到大的堆栈痕迹和其他东西时,情况会变得更糟。那么,有没有一个我可以设置的标志告诉PHP,我希望我的错误不被显示在原始文本中?
这是一个名为html_errors
的php.ini
设置。
在php.ini中,您可以设置三种不同的设置来更改HTML错误的显示方式。
html_errors
error_prepend_string
错误消息前输出的字符串error_append_string
错误消息后输出的字符串
我在我的开发环境中使用以下内容:
html_errors = On
error_prepend_string = "<pre>"
error_append_string = "</pre>"
可能有一些配置选项我找不到——我怀疑有,因为HTML不在命令行中。
一个棘手的问题是通过html_entity_decode(strip_tags($str))
传递字符串。
EDIT正如Andy Pieters所指出的(他显然比我更擅长阅读文档),有一个名为html_errors
的配置选项可以控制这一点。我将把这个答案留在这里,以防出于某种原因你无法修改,但你可能应该接受他的答案。