PHP日志文件的时区


PHP log files timezone

我正在玩fenoffice项目,我是一个PHP初学者。我想把日志从GMT时间改为香港时间。但即使我设置

<>之前(日期)日期。timezone = "Asia/Hong_Kong"之前

<>之前(日期)日期。timezone = Asia/Hong_Kong之前

PHP日志仍然显示GMT时间,应用程序日志也是如此。

我还尝试在代码中更改时区:

ini_set('date.timezone', 'Asia/Hong_Kong');
if(function_exists('date_default_timezone_set')) {
    date_default_timezone_set('Asia/Hong_Kong');
} else {
    putenv('TZ=Asia/Hong_Kong');
} 

但是什么都没用。有人能帮忙吗?非常感谢。

根据PHP Bug 60723,该问题已于2012年10月修复,并将在PHP v5.3.18和v5.4.8中提供。

日志文件不是由PHP编写的,而是由syslog编写的

这之前在这里被报告为错误:https://bugs.php.net/bug.php?id=45191

这是正常的。错误日志不是由PHP写的,而是由syslog写的。Syslog不关心PHP的内部时区,因此根据系统时区格式化日志消息。如果不正确,请直接修改系统时区。

是PHP开发人员收到的响应。要更改日志上的时区,必须更改系统时间。^ ^

<?php
date_default_timezone_set('America/Los_Angeles');
$script_tz = date_default_timezone_get();
if (strcmp($script_tz, ini_get('date.timezone'))){
    echo 'Script timezone differs from ini-set timezone.';
} else {
    echo 'Script timezone and ini-set timezone match.';
}
?>

与其那样做不如这样做