0

我不确定如何让 FirePHP 捕捉错误和警告并在 Firebug 控制台中报告它们。

我已经安装了 FirePHP,我很确定它可以正常工作——我在控制台中看到了这些响应:

fb('Log message', FirePHP::LOG);
fb('Info message', FirePHP::INFO);
fb('Warn message', FirePHP::WARN);
fb('Error message', FirePHP::ERROR);

我基本上看到“日志消息”、“信息消息”、“警告消息”和“错误消息”。然后我更改了我的代码以故意破坏它——它从他们的日志中给了我这个:

[21-Jan-2013 22:19:49] PHP Warning:  Missing argument 3 for
echo_first_image(), called in
/app/web/xxx/wp-content/themes/xxx/home.php on
line 85 and defined in
/app/web/xxx/wp-content/themes/xxx/functions.php
on line 12

我试图在 FirePHP 中捕捉并打印它,但它没有被检测到,我不知道为什么。我用于初始化 FirePHP 的完整代码块:

<?php /* debug */
require_once("debug/FirePHP.class.php");
require_once('debug/fb.php');
$firephp = FirePHP::getInstance(true);
ob_start();
fb('Log message', FirePHP::LOG);
fb('Info message', FirePHP::INFO);
fb('Warn message', FirePHP::WARN);
fb('Error message', FirePHP::ERROR);
?>

解释或资源会有所帮助。谢谢!

4

1 回答 1

1

为此,您需要将错误转换为异常。

来自 FirePHP 网站:

错误、异常和断言处理

将 E_WARNING、E_NOTICE、E_USER_ERROR、E_USER_WARNING、E_USER_NOTICE 和 E_RECOVERABLE_ERROR 错误转换为 ErrorExceptions 并在需要时自动将所有异常发送到 Firebug。

断言错误可以转换为异常并在需要时抛出。

您还可以手动将捕获的异常发送到 Firebug。

$firephp->registerErrorHandler(
            $throwErrorExceptions=false);
$firephp->registerExceptionHandler();
$firephp->registerAssertionHandler(
            $convertAssertionErrorsToExceptions=true,
            $throwAssertionExceptions=false);

try {
  throw new Exception('Test Exception');
} catch(Exception $e) {
  $firephp->error($e);  // or FB::
}
于 2013-02-07T02:10:32.777 回答