2

由于最近更改俄罗斯时区的法律,我在为我的 phpbb 论坛更新时区时遇到了麻烦。由于我更像是一个 php 程序员而不是一个 nix 管理员,所以这一切对我来说有点痛苦,所以任何建议都非常感谢。

长话短说,执行 shell 命令 'date' 返回:

Fri Nov 23 11:20:39 MSK 2012

这很好。

但是,在 PHP 中, date('Ymd H:i:s',time()) 返回:

2012-11-23 10:20:39

这太早了一个小时。

PHP date_default_timezone_get() 返回:

Europe/Moscow

我认为 PHP 有它自己的(过时的)时区数据库,所以我继续执行:

pecl install timezonedb

相应地修改了 php.ini(将路径添加到 timezonedb.so),重新启动服务器并检查

php --ri timezonedb

它反应很好

Alternative Timezone Database => enabled
Timezone Database Version => 2012.10

但是时间问题根本没有解决,当我问 phpinfo() 时,它会响应:

date
date/time support   enabled
"Olson" Timezone Database Version   2010.9
Timezone Database   internal
Default timezone    Europe/Moscow 

所以命令行说timezonedb版本是2012.10,但是PHP还是用2012.9?我完全不明白 =(

4

1 回答 1

0

通过完全重启服务器解决。尽管多次重新启动 nginx,PHP 仍在运行...

于 2012-11-26T13:55:10.983 回答