1

我正在尝试将 firefox 开发人员工具切换为服务器端调试,因为 firebug 不再与 firePHP 一起使用。

检查了我发现以下信息的文档:

像 FirePHP 这样的 Firebug 扩展允许将服务器端消息记录到 Firebug 控制台。此功能已使用 ChromeLogger 协议集成到 DevTools 中,不需要安装任何扩展。

我将 chrome 记录器集成到我用 Chrome 测试的 PHP 脚本中,并确保它正常工作。但在 Firefox 开发工具上,控制台上什么也没有出现。我检查了 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 开发人员菜单打开

服务器选项卡不显示任何关于 chrome 记录器的信息

屏幕截图在这里:

启用服务器选项

两个不同的工具箱

4

3 回答 3

1

除了 Kudehinbu 的工作和我自己的工作,即重构https://github.com/frankforte/quantumphp提供的 QuantumPHP 类,为开发人员提供从 FirePHP 更无缝的方法和迁移过程,我还可以补充一点,与 FirePHP 不同,当对象是info()warn()error()方法的参数的一部分时,客户端渲染不会越过简洁的 [object Object] 。

要详尽地开发一个对象,就像 FirePHP 所做的那样,您可能希望在调用 QuantumPHP 类的输出方法之前使用print_r()var_export()转换$args,或者更好的是,作为私有/受保护的转换器。类本身。

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!
于 2018-02-21T08:14:40.883 回答
1

截至 2017 年,firebug 和 firephp 已被禁用。

我对 chromephp 工具进行了一些小修改,以允许从 firephp 无缝迁移到 chromephp,以便通过控制台进行调试。

这篇文章用清晰的简单步骤解释

https://medium.com/@kudehinbuoluwaponle/migrate-from-firephp-to-chromephp-in-5-minutes-without-break-existing-code-e4afd1b28c5c

除了文章中的细节,你不需要切换到chrome浏览器,你也可以通过firefox web console的server选项卡查看日志

于 2017-09-30T01:23:57.617 回答
1

使用 Firefox 57,又名 Firefox Quantum,ChromePhp 中的服务器日志似乎不再有效。

QuantumPHP 是一个替代方案。使用此工具,服务器日志和 JavaScript 日志都出现在“控制台”下。

https://github.com/frankforte/quantumphp

于 2017-11-21T05:40:02.983 回答