如何自动删除FirePHP的调试语句?

时间:2011-07-08 03:58:20

标签: php debugging firephp

FirePHP要求我在每个.php页面上添加调试函数调用:

require_once('FirePHPCore/FirePHP.class.php');
ob_start();

在我的本地机器上不是问题。但是当我的代码在现实世界中工作时,我想删除/禁用它们。

是否有任何“调试模式”变量可以禁用它们或工具删除它们?

3 个答案:

答案 0 :(得分:5)

注意:如果您删除 FirePHP 包含来电,但代码中仍有 FirePHP 日志记录,则会收到致命错误!< / p>

正确的解决方案是禁用FirePHPCore 0.3

$firephp->setEnabled(false);

有关详细信息,请参阅API reference

在执行任何其他操作之前,应用程序/网站中的所有页面/脚本都应调用中心bootstrap file。上面的代码应该在这个引导程序文件中,这样您可以在部署时轻松禁用整个应用程序的 FirePHP

bootstrap.php

ob_start();
require_once('FirePHPCore/FirePHP.class.php');
$firephp = FirePHP::getInstance(true);
// always disable FirePHP first - best practice
$firephp->setEnabled(false);
// only enable if in dev environment - best practice
if ($isDevMode) {
    $firephp->setEnabled(true);
}

仅供参考,如果使用FirePHP 1.0日志消息,只有在检测到授权客户端时才会发送,而不需要上述代码。

答案 1 :(得分:0)

只需定义一个常量

define('IS_PRODUCTION', false);

稍后再使用:

if (!IS_PRODUCTION) {
    require_once('FirePHPCore/FirePHP.class.php');
    ...
}

答案 2 :(得分:0)

跟随cadorn: 如果在你的框架中FirePHP是一个可选安装(插件,插件,...),最终可能会有人完全放弃或卸载,你可能会考虑检查框架 core <中的FirePHP类或函数可用性/ em>通过class_exists()function_exists(),如果FirePHP无法访问,请定义替代功能。这样,你可以避免致命,并最终给出一些反馈/输出“FirePHP不可用”..