我正在尝试切换firefox开发人员工具以进行服务器端调试,因为firebug不再使用firePHP。
查看了我发现此信息的文档:
像FirePHP这样的Firebug扩展允许将服务器端消息记录到 Firebug控制台。此功能已集成到 DevTools使用ChromeLogger协议,不需要任何 要安装的扩展程序。
我将Chrome记录器集成到我使用Chrome测试的PHP脚本中并确保它正常工作。 但在Firefox Dev Tools上没有任何内容出现在控制台上。我检查了X-ChromeLogger-Data的标题。编码数据成功传递。
任何人都有解决方案的想法吗?
供参考developer.mozilla.org/en-US/docs/Tools/Web_Console/Console_messages#Server
使用Firefox Developer Edition 56.0b3和ChromePhp 4.1.0(Chrome logger php脚本)进行测试
编辑:有一些奇怪的事情。有2个不同的开发人员工具,一个打开F12,没有服务器选项卡,另一个打开通过工具> Web Developer 菜单服务器选项卡不显示有关chrome logger的信息
屏幕截图在这里:
答案 0 :(得分:1)
截至2017年,萤火虫和firephp已被禁用。
我对chromephp工具进行了一些修改,允许从firephp无缝迁移到chromephp,以便通过控制台进行debuging。
本文以简单易懂的步骤解释
作为文章中细节的补充,您不需要切换到Chrome浏览器,您还可以通过firefox Web控制台的服务器选项卡查看日志
答案 1 :(得分:1)
使用Firefox 57,a.k.a. Firefox Quantum,看起来ChromePhp的服务器日志不再有效。
QuantumPHP是另一种选择。使用此工具,服务器日志和JavaScript日志都显示在“控制台”下。
答案 2 :(得分:0)
继Kudehinbu的工作,以及我自己的工作,即重构QuantumPHP类提供https://github.com/frankforte/quantumphp,为开发人员提供更加无缝的方法和FirePHP的迁移过程,我也可以补充说,与FirePHP不同,客户端当对象是 info(), warn()或错误()<的参数的一部分时,渲染不会超过简洁的[object Object] / strong>方法。
要像FirePHP那样穷尽地开发对象,您可能希望使用 print_r()或 var_export()转换 $ args ,要么在调用QuantumPHP类的输出方法之前,要么更好,作为类本身内的私有/受保护的变换器。
protected function resolveObjectArgs(array &$args)
{
array_walk($args, function(&$value, $key) {
if (is_array($value)) {
$value = print_r($value, true);
}
else if(is_object($value)) {
$value = var_export($value, true);
}
else return;
});
}
因此在输出方法中调用此变换器:
public function info()
{
$args = func_get_args();
$this->resolveObjectArgs($args); // <== this is the line to add to the existing code
return $this->_log(self::INFO, $args);
}
请注意,在我的重构之后, info()现在是 public 而不再是 public static ,因为我决定使用对象上下文
最后,利用公共上下文,您可能想要添加析构函数:
public function __destruct()
{
$this->send();
}
因此可以在PHP脚本最后一次调用QuantumPHP方法后系统地显式调用send方法。
客户端使用示例:
$QPHP = QuantumPHP::getInstance(); $Obj = new MyOwnObject(); $QPHP->info($Obj); // will eventually output a detailed structure of your object // send() gets called magically at the end of the page!