Warning: file_get_contents(/data/phpspider/zhask/data//catemap/4/jsp/3.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Php 如何自动删除FireHP的调试语句?_Php_Debugging_Firephp - Fatal编程技术网

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

Php 如何自动删除FireHP的调试语句?,php,debugging,firephp,Php,Debugging,Firephp,FireHP要求我在每个.php页面上添加调试函数调用: require_once('FirePHPCore/FirePHP.class.php'); ob_start(); 这在我的本地机器上不是问题。但当我的代码在现实世界中运行时,我想删除/禁用它们 是否有任何“调试模式”变量来禁用它们或使用工具删除它们?只需定义一个常量即可 define('IS_PRODUCTION', false); 以后再使用它: if (!IS_PRODUCTION) { require_once('F

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

require_once('FirePHPCore/FirePHP.class.php');
ob_start();
这在我的本地机器上不是问题。但当我的代码在现实世界中运行时,我想删除/禁用它们

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

只需定义一个常量即可

define('IS_PRODUCTION', false);
以后再使用它:

if (!IS_PRODUCTION) {
    require_once('FirePHPCore/FirePHP.class.php');
    ...
}
定义一个常数

define('IS_PRODUCTION', false);
以后再使用它:

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

注意:如果删除FireHP include调用,但代码中仍有FireHP日志调用,则会出现致命错误

正确的解决方案是禁用:

$firephp->setEnabled(false);
有关更多信息,请参阅

应用程序/网站中的所有页面/脚本在执行任何其他操作之前都应该调用中心。上述代码应位于此引导文件中,该文件允许您在部署时轻松禁用整个应用程序的FireHP:

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);
}

仅供参考,如果使用日志记录,则仅当检测到授权客户端不再需要上述代码时,才会发送消息。

注意:如果您删除了FireHP include调用,但代码中仍有FireHP日志记录调用,则会出现致命错误

正确的解决方案是禁用:

$firephp->setEnabled(false);
有关更多信息,请参阅

应用程序/网站中的所有页面/脚本在执行任何其他操作之前都应该调用中心。上述代码应位于此引导文件中,该文件允许您在部署时轻松禁用整个应用程序的FireHP:

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);
}

仅供参考,如果使用日志记录,则只有在检测到授权客户端时才发送消息,从而消除了对上述代码的需要。

cadorn的后续操作:
如果在框架中,FiFPHP是一个可选的安装(ADDON,插件,…),某人最终可能会被完全破解或卸载,你可能会考虑通过代码> > CaseSuthOrthor()/<代码>或<代码>函数-Is存在()/<代码>来检查FiffPHP类或函数可用性,并且在FirePHP无法到达的情况下,定义替代函数。这样,您就可以避免灾难,并最终给出一些类似“FireHP不可用”的反馈/输出。

跟进cadorn:
如果在框架中,FiFPHP是一个可选的安装(ADDON,插件,…),某人最终可能会被完全破解或卸载,你可能会考虑通过代码> > CaseSuthOrthor()/<代码>或<代码>函数-Is存在()/<代码>来检查FiffPHP类或函数可用性,并且在FirePHP无法到达的情况下,定义替代函数。这样,您就可以避免灾难,并最终给出一些类似“FireHP不可用”的反馈/输出。

我应该把这个define()放在哪里?php?@Lai Yu-Hsuan:你应该在某个地方有一个配置文件,包含在整个网站中不断重复使用的详细信息(如数据库用户名/密码/主机名等),并且该文件是
include()
'd或
require()
'd,在网站上的每个php文件中都有一次。因此,您只需在该文件中包括@zerkms'
define()
,甚至可能包括
if()
部分,然后您就可以非常轻松地打开和关闭FireHP。如果在if之外登录,这将产生错误,最好通过$FireHP->setEnabled(false)禁用;正如@Cadom提到的,我应该把这个define()放在哪里?php?@Lai Yu-Hsuan:你应该在某个地方有一个配置文件,包含在整个网站中不断重复使用的详细信息(如数据库用户名/密码/主机名等),并且该文件是
include()
'd或
require()
'd,在网站上的每个php文件中都有一次。因此,您只需在该文件中包括@zerkms'
define()
,甚至可能包括
if()
部分,然后您就可以非常轻松地打开和关闭FireHP。如果在if之外登录,这将产生错误,最好通过$FireHP->setEnabled(false)禁用;如@cadom所述