【问题标题】:where does Apache console output go when Apache is run as a service?当 Apache 作为服务运行时,Apache 控制台输出到哪里去?
【发布时间】:2014-07-29 06:48:56
【问题描述】:

(Windows 7 操作系统)- 我正在使用 Apache 的 log4php。这一页 http://logging.apache.org/log4php/quickstart.html 似乎适用于在控制台窗口中运行的 PHP,而不是由 Apache 网络服务器运行的 PHP。但是,我有兴趣在后一种情况下登录。

在“高级示例”下,代码按预期记录到日志文件中。但是它还说“这会在控制台中产生以下输出:INFO - We have liftoff”,我试图找到这个输出的实际去向。它没有登录到浏览器或任何内置的 Apache 日志文件。

我发现以下问题与 PHP 标准输出/输出有关:PHP stdout on Apache - 然后我在关闭已安装的 Apache 服务(在“前台”运行 Apache)后运行(使用 BASH for Windows)以下命令:httpd -D FOREGROUND -k start
不高兴......这也没有导致将“升空”消息记录到浏览器中。它也没有记录到任何内置的 Apache 日志文件。任何想法/如果我可以找到控制台输出?

【问题讨论】:

    标签: php apache console log4php


    【解决方案1】:

    LoggerAppenderConsole 确实记录到 STDOUT,可选地记录到 STDERR。

    在通常的 Apache 上下文中,您没有控制台,因此登录到控制台是错误的。通常的方法是记录到存在的任何日志记录工具:文件、系统日志、PHP echo、数据库、PHP trigger_error 等。

    如果您希望在此示例中以最少的更改获得可见的输出,请将LoggerAppenderConsole 更改为LoggerAppenderEcho。这与您在控制台上体验到的输出非常相似,但现在在生成的 HTML 中。

    或者您只需在 Windows 的命令行上运行脚本。它只需要 PHP 可执行文件的路径,例如 C:\Whatever\Path\php.exe script.php

    【讨论】:

    • 我不介意在提出问题几个月后得到接受的答案,我非常感谢您的反馈。
    猜你喜欢
    • 1970-01-01
    • 2011-01-07
    • 2012-12-26
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多