日志文件中的 PHP-FPM 时区

日志文件中的 PHP-FPM 时区

PHP-FPM 日志的时区不同。PHP-FPM 日志中的时间比系统时间晚一个小时。PHP-FPM 中是否有配置时间/区域的选项?

系统:CentOS

# date
Mon Jul  9 17:33:10 BST 2012

# cat /etc/sysconfig/clock 
ZONE="Europe/London"

# grep "date.timezone =" /etc/php.ini 
date.timezone = Europe/London

# tail /var/log/php-fpm/error.log
[09-Jul-2012 16:21:58 UTC] PHP Notice: ...

答案1

PHP 目前仅以 UTC 格式记录。这是漏洞

答案2

问题可能与以下名称的通用 WordPress 文件有关:

wp-includes/PHPMailer/PHPMailer.php

该文件使用了一个糟糕的 PHP 函数,名称为:gmdate()

该功能使用 UTC…

我已将其替换为 echo date('Ymd H:i:s'); 函数(大约第 928 行),并且还在文件的开头放置了指令:date_default_timezone_set('Myontinenet/MyCountry');。

这似乎解决了 PHP 错误日志的问题,不是记录当前时间,而是记录 UTC 时间。

我在所有域文件上搜索 stringerror_log ( 的用法时发现了问题。这是因为这是记录错误日志的 PHP 函数,而那些错误的错误日志来自某个地方……

相关内容