PHP:php错误/警告/通知的双输出

如果我执行以下脚本:

<?PHP
error_reporting(E_ALL);
trigger_error('test notice', E_USER_NOTICE);
die('end of script');

我得到以下输出

<br />
<b>Notice</b>:  test notice in <b>path/to/script/test.PHP</b> on line <b>3</b><br />
end of scriptPHP Notice:  test notice in path/to/script/test.PHP on line 3

该脚本在IIS8上使用PHP版本5.4.19执行.

返回的http状态代码是200.

PHP.ini文件中,“display_errors”设置为“On”,“error_reporting”设置为“E_ALL”.所以脚本的第一行只是为了澄清.

所有错误报告常量(E_ERROR,E_WARNING等)的行为都相同.

有谁知道通知的第二个输出来自哪里?特别是如何摆脱它?

解决方法:

如果你设置两者

error_reporting(E_ALL);
ini_set('display_errors', 1);

错误将加倍:

PHP Notice: Undefined variable: test in
/path/to/script.PHP
on line 8

Notice: Undefined variable: test in
/path/to/script.PHP
on line 8

尝试关闭一个或另一个set a custom error handler.

相关文章

统一支付是JSAPI/NATIVE/APP各种支付场景下生成支付订单,返...
统一支付是JSAPI/NATIVE/APP各种支付场景下生成支付订单,返...
前言 之前做了微信登录,所以总结一下微信授权登录并获取用户...
FastAdmin是我第一个接触的后台管理系统框架。FastAdmin是一...
之前公司需要一个内部的通讯软件,就叫我做一个。通讯软件嘛...
统一支付是JSAPI/NATIVE/APP各种支付场景下生成支付订单,返...