设置 PHP 无法更新到最近的奥尔森



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

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

Fri Nov 23 11:20:39 MSK 2012

这很好。

但是,在 PHP 中,date('Y-m-d 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?我根本不明白这个=(

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

相关内容

  • 没有找到相关文章

最新更新