1

我正在尝试将 PHP 错误记录到日志文件中。我在 php.ini 中进行了必要的更改,并将日志文件的权限调整为 777。PHP CLI 记录正常,但通过 apache 没有。

  • 我知道使用的 php.ini 是正确的。我通过 apache 为 CLI 和 php 提供了一个文件。
  • 我创建了日志文件,为了测试我将权限设置为 777。
  • 我在 php 文件上生成了一个错误,但没有记录任何内容。
  • 我还在产生错误的同一文件中尝试了 phpinfo() ,以检查值是否正确。

php.ini:

error_log = /var/log/httpd/php.log
log_errors = On
error_reporting = E_ALL

版本:

[user@host httpd]# httpd -v
Server version: Apache/2.2.15 (Unix)
Server built:   Aug 13 2013 17:29:28

[user@host httpd]# php -v
PHP 5.4.13 (cli) (built: Mar 14 2013 08:57:49)
Copyright (c) 1997-2013 The PHP Group
Zend Engine v2.4.0, Copyright (c) 1998-2013 Zend Technologies

我已经解决了所有类似的问题,但没有运气。特别是这个,解决方案是在 php.ini 中设置日志的完整路径。不是这种情况。

4

2 回答 2

1

很可能您有 chroot-ed apache 或来自 systemd 的“有用”重定向。

我有同样的问题,只是在系统中搜索文件名。

# find / -name apay_api.log 2>/dev/null
/mnt/FAST/tmp/systemd-private-edd1fc8681054769ac401c6bd8358fdd-apache2.service-mP51C4/tmp/apay_api.log

所以它也可能是你的情况。

原因是

PrivateTmp=true

在 /usr/lib64/systemd/system/apache2.service 之类的文件中。

于 2014-06-12T09:37:52.557 回答
0

如果 php 作为其模块,Apache 会设置自己的日志文件。换句话说,它取决于 apache 设置。尝试在 apache 配置文件中找到“日志”选项。

于 2013-10-19T20:41:47.293 回答