【发布时间】:2011-11-29 09:33:41
【问题描述】:
有什么方法可以将 PHP 遇到的所有通知、警告、错误等存储在一个数组中?
我需要这个用于自定义错误记录器,并且我希望它能够捕获除异常之外的错误,我已经这样做了。
我设法为最后一个错误找到了一些东西,但这还不够:error_get_last
【问题讨论】:
-
你试过
set_error_handler吗?
标签: php error-handling
有什么方法可以将 PHP 遇到的所有通知、警告、错误等存储在一个数组中?
我需要这个用于自定义错误记录器,并且我希望它能够捕获除异常之外的错误,我已经这样做了。
我设法为最后一个错误找到了一些东西,但这还不够:error_get_last
【问题讨论】:
set_error_handler吗?
标签: php error-handling
您必须构建一个自定义错误处理程序: http://www.php.net/manual/en/function.set-error-handler.php
$_ERRORS = array();
function myErrorHandler($errno, $errstr, $errfile, $errline) {
global $_ERRORS;
$_ERRORS[] = array("errno" => $errno, "errstr" => $errstr, "errfile" => $errfile, "errline" => $errline);
}
set_error_handler("myErrorHandler");
【讨论】:
static的情况下使用它?
$errno 变量包含错误的类型(例如 E_USER_ERROR 或 E_USER_WARNING)。您可以在此处找到可能值的列表:php.net/manual/en/errorfunc.constants.php
您可以设置custom error handler,然后使用静态变量收集所有错误或将它们写入某种持久存储中。
【讨论】:
怎么样 混合 set_error_handler (回调 $error_handler [, int $error_types = E_ALL | E_STRICT])
【讨论】: