tzdata数据库和时区数据库有什么区别


What is the difference between tzdata database and timezonedb?

我工作的Fedora上运行的PHP应用程序中存在时区问题,我很想知道tzdata和timezonedb之间的区别以及PHP如何使用它们来计算timezome?

问题是"欧洲/莫斯科"应该是GMT+3,但PHP增加了一个小时,即GMT+4。大多数解决方案都是关于运行的

pecl upgrade timezonedb

检查 PHP 生成的时区列表不完整

在没有安装 timezonedb 扩展的情况下,我们更新了 tzdata

yum update tzdata

然后问题就解决了!

那么,如果没有安装时区数据库,PHP 会使用 tzdata 还是什么?

PHP: 5.5.18操作系统 : Fedora 19

其中一个

数据库(tzdata)附带PHP,默认情况下使用。更高版本的数据库可以通过 PECL 单独安装在系统上。

Pecl 时区数据库扩展表示默认情况下存在嵌入式数据库。

此扩展是内置时区的直接替代品 PHP 附带的数据库。您应该只安装此扩展 如果您需要获取更高版本的时区数据库 PHP附带的那个。

对于使用 php 5.5+ 的 centos 6 用户,请使用以下命令:

yum -y update tzdata
pecl channel-update pecl.php.net
pecl install --ignore-errors  timezonedb
echo "extension=timezonedb.so" > /etc/php.d/timezonedb.ini