【问题标题】:How to print in console with PHP? [duplicate]如何使用 PHP 在控制台中打印? [复制]
【发布时间】:2018-05-16 16:48:46
【问题描述】:

我知道这个问题已经在这个论坛上被问过很多次了,但是我尝试过的一切都没有奏效。 我通常使用 safari,我想知道如何在 safari 控制台中打印。 我直接在 ftp 服务器上工作,所以我无法将任何东西安装到像 mamp 这样的程序中。 我使用 safari,但如果您知道其他浏览器的解决方案,我很乐意尝试。

【问题讨论】:

  • 您尝试了哪些不起作用的方法?您必须通过 JS 打印到控制台,但您可以在 PHP 脚本中生成要打印的数据。
  • 您使用 JavaScript 而非 PHP 打印到浏览器控制台。我想您的 PHP 代码可以简单地发出打印到控制台的 JavaScript 代码。例如:echo "<script>console.log('Hello World');</script>";

标签: php debugging safari console


【解决方案1】:

与在浏览器的虚拟机中运行的 Javascript 不同,PHP 在远程计算机上运行。除非您煞费苦心地设置远程调试,否则 PHP 没有任何通往您正在编码的工作站的秘密通道。 JetBrains 有一个不错的 IDE,并提供了documentation 关于如何设置此秘密通信通道的信息,以便您可以单步执行代码。它相当参与。

Eclipse PDT 是我使用的,它也有一个fairly elaborate setup

如果您只想编写可以检查以检查值和内容的消息(例如 console.log),我建议您编写一个写入文件的日志记录函数。像这样的:

function my_log($msg) {
    // consider changing this log file's location to something else
    if (!file_put_contents("/tmp/my-log-file.txt", "[" . date("Y-m-d H:i:s") . "] " . $msg . "\n", FILE_APPEND)) {
        die("Unable to write log file!");
    }
}

请注意,如果您通过 Web 服务器运行 PHP 脚本,则 Web 服务器用户将需要写入文件的权限。在 Debian/Ubuntu 机器上,apache 用户是 www-data。在 Red Hat/CentOs 机器上,我认为是 apache。您可以通过将此脚本放在您的服务器上并将其加载到您的浏览器中来找出 Web 服务器运行的用户身份:

<?php
passthru("whoami");

我在这里的说明假设您正在使用 *nix 机器。如果您正在运行 Windows,我们可能需要更深入地挖掘。

【讨论】:

  • 谢谢你这个解决方案对我的目的很好。
猜你喜欢
  • 1970-01-01
  • 2013-01-21
  • 2015-01-31
  • 2014-01-28
  • 1970-01-01
  • 1970-01-01
  • 2020-06-19
  • 1970-01-01
相关资源
最近更新 更多