FirePHP
要求我在每个。php页面上添加调试函数调用:
require_once('FirePHPCore/FirePHP.class.php');
ob_start();
在我的本地机器上没有问题。但是当我的代码在现实世界中工作时,我想删除/禁用它们。
是否有任何"调试模式"变量来禁用它们或工具来删除它们?
注意:如果你删除了FirePHP include调用,但在你的代码中仍然有FirePHP日志调用,你会得到一个致命的错误!
正确的解决方案是禁用FirePHPCore 0.3:
$firephp->setEnabled(false);
参见API参考。
应用程序/网站中的所有页面/脚本都应该在执行其他操作之前调用中央引导文件。上面的代码应该在这个引导文件中,它将允许您在部署整个应用程序时轻松禁用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,日志消息将仅在检测到授权客户端时发送,从而消除了上述代码的需要。
定义一个常量
define('IS_PRODUCTION', false);
并稍后使用:
if (!IS_PRODUCTION) {
require_once('FirePHPCore/FirePHP.class.php');
...
}
对cadorn的跟进:如果在你的框架中,FirePHP是一个可选的安装(插件,插件,…),有人可能最终会禁用或完全卸载,你可能会考虑通过class_exists()
或function_exists()
检查框架核心中FirePHP类或函数的可用性,如果FirePHP无法达到,定义替代函数。这样,您可以避免致命的错误,并最终给出一些反馈/输出,如"FirePHP不可用".