在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”没有解决,经过数小时的谷歌搜索并试图让我变得无能为力...
答案 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文件:
然后,运行类似于:
nano /etc/php.ini
然后将以下行添加到php.ini文件的最后一行:
extension=timezonedb.so
为了检查更新是否成功,请使用以下命令重新启动php / php-fpm:
service php-fpm restart
然后,让我们再次访问PHPINFO和...