是否可以写入字符串或日志到控制台?

我的意思是

就像在JSP中一样,如果我们打印system.out.println("some")这样的东西,它将出现在控制台,而不是页面上。


当前回答

Use:

function console_log($data) {
    $bt = debug_backtrace();
    $caller = array_shift($bt);

    if (is_array($data))
        $dataPart = implode(',', $data);
    else
        $dataPart = $data;

    $toSplit = $caller['file'])) . ':' .
               $caller['line'] . ' => ' . $dataPart

    error_log(end(split('/', $toSplit));
}

其他回答

这两个都有效:

<?php
    $five = 5;
    $six = 6;
?>
<script>
    console.log(<?php echo $five + $six ?>);
</script>


<?php
    $five = 5;
    $six = 6;
    echo("<script>console.log($five + $six);</script>");
?>

对于Ajax调用或XML / JSON响应,您不想干扰主体,您需要通过HTTP报头发送日志,然后使用web扩展将它们添加到控制台。这就是FirePHP(不再可用)和QuantumPHP (ChromePHP的一个分支)在Firefox中的做法。

如果您有耐心,x-debug是一个更好的选择—您可以更深入地了解PHP,能够暂停脚本,查看正在发生的事情,然后恢复脚本。

试试下面的方法。它正在工作:

echo("<script>console.log('PHP: " . $data . "');</script>");

默认情况下,所有输出都输出到stdout,即HTTP响应或控制台,这取决于脚本是由Apache运行还是在命令行上手动运行。但是您可以使用error_log进行日志记录,并且可以使用fwrite写入各种I/O流。

截至2017年,Firebug和FirePHP已被禁用。

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

这篇文章用简单明了的步骤解释

5分钟内从FirePHP迁移到ChromePHP(不破坏现有代码)