Que*_*low 7 apache-http-server php error-logging
我刚刚将我的服务器升级到 Fedora 17,并将包含的一些配置文件合并.rpmnew到现有文件中。通过将以下内容保留在单独的日志文件中,我已成功地将我的 php 错误记录在php.ini:
log_errors = On
error_log = /var/log/php-errors.log
Run Code Online (Sandbox Code Playgroud)
/var/log/httpd/error_log尽管保留了上述设置,但我不确定为什么在升级后仍会记录错误。
还,
$ ls -l /var/log/php-errors.log
-rwxrwxr--. 1 apache myself 232 Dec 13 16:49 /var/log/php-errors.log
Run Code Online (Sandbox Code Playgroud)
表明 apache 确实拥有 php 错误日志文件。
什么可能导致 PHP 错误被记录到 apache 错误日志文件中?
小智 0
我认为这里只是常见的 Apache 错误/var/log/httpd/error_log。
我会在某些 PHP 逻辑中插入一个调用error_log('test');,这些逻辑在刷新某些特定页面时会被解释,如果在其中没有看到,那么/var/log/php-errors.log我怀疑版本升级为具有某种不同的配置或权限方案,使旧配置停止工作。
我建议仔细阅读 中的“错误处理和日志记录”部分/etc/php/php.ini,并检查其他指令的正确值。该指令error_reporting应设置为E_ALL或E_ALL & ~E_DEPRECATED & ~E_STRICT。该指令log_errors应该是On.
如果只为 指定文件名(但没有路径)error_log,则该文件将出现在与调用 的 PHP 脚本相同的目录中error_log(...)。
我还建议指定/tmp/php_error_logfor error_log,刷新页面,然后ls /tmp查看文件是否存在。
如果该文件不存在,请以 root 身份登录,然后在整个文件系统中搜索该文件名,以便查看它的最终位置。
一般来说,让 PHP 错误日志在特定目录中工作的正确配置会随着 Apache、PHP 和各种发行版的不同版本而变化。
我可以说,在带有 Apache 2.4、PHP 5.5.11 和 systemd 版本 212-1 的 Arch Linux 上,上面的配置将使 PHP 错误日志最终出现在类似于/tmp/systemd-private-65d4c3e3cc534155bcf3ec708c2362f6-httpd.service-h8MSsD/tmp/php_error_log.
| 归档时间: |
|
| 查看次数: |
9290 次 |
| 最近记录: |