我正在玩FengOffice项目,我是PHP的初学者。 我想将日志从格林威治标准时间改为香港时间。 但即使我设置
[Date] date.timezone = "Asia/Hong_Kong"
或
[Date] date.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');
}
但没有任何作用。任何人都可以帮忙吗?非常感谢。
答案 0 :(得分:3)
根据PHP Bug 60723,它已在2012年10月修复,应该在PHP v5.3.18和v5.4.8中提供。
答案 1 :(得分:1)
日志文件不是由PHP编写的,而是由syslog
此前已将此报告为错误:https://bugs.php.net/bug.php?id=45191
这很正常。错误日志不是由PHP 编写,而是由syslog编写。 Syslog不关心PHP的内部时区,因此根据系统时区格式化日志消息。如果系统时区不正确,请更改系统时区。
PHP的开发人员是否收到了响应。要更改日志的时区,您必须更改系统时间。 ^^
答案 2 :(得分:-1)
<?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.';
}
?>
而不是这样做