如果我执行以下脚本:
<?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 8Notice: Undefined variable: test in
/path/to/script.php
on line 8
尝试关闭一个或另一个或set a custom error handler.