如果我必须调用不允许正确错误检查的第三方遗留函数, 是否有一个关于php脚本已经触发了多少错误通知的全局计数器?
我想在我的脚本中检测在触发的函数调用期间是否有错误/警告/通知,并在我的脚本中作出相应的反应。
作为一种解决方法,我会在函数调用之前和之后计算apache错误日志中的行数,但这不起作用:
<?php
$errorlogsize_before=filesize(DEBUGMODE_LOGFILE);
third_party_function();
$errorlogsize_after=filesize(DEBUGMODE_LOGFILE);
echo "Logsize before:".$errorlogsize_before."; Logsize after:".$errorlogsize_after."
它们显示相同的文件大小。
答案 0 :(得分:3)
我假设您的用例是对第三方遗留函数的调用,该函数不允许正确的错误检查。在这种情况下,您可以使用set_error_handler()临时更改错误处理程序,然后使用restore_error_handler()将其还原。其他替代方案如error_get_last()会丢弃所有错误,但最后一个错误。
答案 1 :(得分:2)
您可以使用函数set_error_handler
并实现自己的计数器
例如:当发生PHP错误时,我使用自定义错误处理程序将UDP数据发送到statsd守护程序。然后,您可以按类型和页面/文件
绘制错误答案 2 :(得分:0)
您可以创建自己的计数器:
<?php
$counter = 0;
$site = "://testsite.hjkh/"; //<== IncorrectSite
fopen($site,"r")
or die(errorCount + 1); //<==ErrorCount +1
?>
在脚本结束时,回显ErrorCount。
看看这里:http://www.w3schools.com/php/func_misc_die.asp