0
我试图第一次设置错误处理。
它确实工作并报告错误(如果有),但出于某种原因,它总是显示错误处理函数本身的“缺少参数”的错误。请注意我的错误处理功能是在一个单独的文件中,包括索引页,我不知道如果是这样的问题:SPHP错误处理 - “errorHandler缺少参数”
这里是我的错误处理功能
function errorHandler($errno, $errstr, $error_file, $error_line) {
if(isset($errstr)) {
# There is an error, display it
echo $errno." - ".$errstr." in ".$error_file." at line ".$error_line."<br>";
} else {
# There isn't any error, do nothing
return false;
}
}
// We must tell PHP to use the above error handler.
set_error_handler("errorHanlder");
这里是索引页
<!-- # Error Handler -->
<? if(errorHandler()) { ?>
<section id="error-handler">
<?=errorHandler();?>
</section>
<? } ?>
下面是结果在浏览器(记住,没有PHP的错误,所以这个错误处理程序不应该输出任何东西 - 这是我不明白
2 - Missing argument 1 for errorHandler(), called in index.php on line 20 and defined in inc/arcError.fnc.php at line 10
2 - Missing argument 2 for errorHandler(), called in index.php on line 20 and defined in inc/arcError.fnc.php at line 10
2 - Missing argument 3 for errorHandler(), called in index.php on line 20 and defined in inc/arcError.fnc.php at line 10
2 - Missing argument 4 for errorHandler(), called in index.php on line 20 and defined in inc/arcError.fnc.php at line 10
任何想法的原因是为什么PHP报告缺少的参数?
我想了解这一切的作品。 如果我将$ errno,$ errstr,$ errfile,$ errline的参数传递给errorHandler,那么它会输出相同的结果。修正了错别字 – Clarkey 2012-07-07 12:00:28
Jocelyn,谢谢你的回答。我明白错误处理程序如何工作的逻辑..我想出于某种原因,我不得不调用函数INCASE它有一个错误,否则当出现错误时它不会显示错误。现在我已经对它进行了排序,但是如何我可以告诉PHP在哪里显示错误? – Clarkey 2012-07-07 12:05:23
我看到你的改变,以回应,这是有道理的。谢谢你的帮助哥们! –
Clarkey
2012-07-07 12:08:09