【问题标题】:Can't write log file in Linux using PHP无法使用 PHP 在 Linux 中写入日志文件
【发布时间】:2014-12-04 01:11:03
【问题描述】:

我在用于 ejabberd XMPP 服务器的 Google Compute Engine 实例上运行 CentOS 6.5。我还安装了 php 5,并且 ejabberd 被配置为使用 php script 来验证用户。 到目前为止一切顺利 - ejabberd 执行脚本并从中收到正确的结果。问题是:我希望 PHP 脚本编写一个日志文件。到目前为止,我已经尝试过:

  • 使用 file_put_contents 将文件写入 /var/log/mlog.log - 这不起作用。所以我尝试手动创建文件并给它 chmod 777 (用于测试)。没有结果 - 文件仍然是空的。但是 - 当我从终端使用 php 手动执行脚本时,会写入日志。
  • 写入 syslog - 我已将 php.ini 配置为使用 syslog,然后尝试记录。结果相同:当 ejabberd 运行脚本时什么都没有,但是当我手动运行它时它可以工作。
  • 配置 error_log 文件并使用 error_log($message)。再次,它没有工作。

我意识到 ejabberd 用户(运行 php 脚本)的写权限一定有问题,但即使我在上述每个选项中将 chmod 777 设置为每个文件,日志仍然是空的。

有什么提示吗?我错过了什么? (你可能会说,我对 Linux 了解不多,这是我第一次在项目中使用它)

【问题讨论】:

    标签: php linux logging ejabberd chmod


    【解决方案1】:

    这可能不是您正在寻找的答案。我对Linux不太熟悉。有一个名为 KLogger 的 KeyLogging php 类。您可以使用此类创建日志。 use很容易,你必须下载php文件并使用它。您可以在github 中找到它。希望这可以解决您的问题。

    【讨论】:

    • 问题是,我也想查看 PHP 自己的错误(自动记录的错误)。另外,我真的很想知道这个问题的根源是什么以及如何解决它,因为它似乎是基于权限的。感谢您的宝贵时间
    • @Eran 很抱歉无法正确理解。
    猜你喜欢
    • 1970-01-01
    • 2014-09-18
    • 1970-01-01
    • 2015-06-23
    • 1970-01-01
    • 1970-01-01
    • 2017-08-16
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多