如何在php7上升级timezonedb / timelib(plesk onyx)?

时间:2018-08-29 13:31:17

标签: php timezone plesk pecl timezonedb

在Plesk Onyx系统上使用PHP版本7.0.31。

phpinfo()向我展示:

date
date/time support: enabled
timelib version: 2016.02
"Olson" Timezone Database Version   0.system
Timezone Database   internal
Default timezone    Europe/Berlin

使用的timelib版本“ 2016.02”已过时,因此我需要将其升级到当前版本2018.5(https://pecl.php.net/package/timezonedb)。

该怎么做? “ pecl upgrade timezonedb”没有解决,经过数小时的谷歌搜索并试图让我变得无能为力...

1 个答案:

答案 0 :(得分:1)

上下文

我已经解决了公司的类似问题,但与巴西的夏令时有关。在我们所有使用PHP 7.0.32的服务器上,时间错了1个小时,而使用PHP 7.1的服务器运行良好。

我们的服务器在AWS EC2实例上运行。我们的时区为America/Sao_Paulo值得注意的是,我们的主要目标是“更新timelib PHP扩展”,但我们发现并不需要这样做,因为更新时区数据库版本足以解决我们的问题。

解决方案

为了解决过时的日期时间,我从SSH运行了以下命令,以root用户身份登录:

pecl7 install timezonedb

在那之后,我们需要将扩展​​名添加到我们的PHP.INI文件中。就我而言,它是从/etc/php.ini加载并找到的。要检查您的文件,只需创建一个phpinfo.php文件,然后检查您的机器从哪个位置加载了php.ini文件:

enter image description here

然后,运行类似于:

nano /etc/php.ini

然后将以下行添加到php.ini文件的最后一行

extension=timezonedb.so

为了检查更新是否成功,请使用以下命令重新启动php / php-fpm:

service php-fpm restart

然后,让我们再次访问PHPINFO和...

enter image description here