如何在 php7 (plesk onyx) 上升级 timezonedb/timelib?
How to upgrade timezonedb/timelib on php7 (plesk onyx)?
我在 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" 没有成功,经过数小时的谷歌搜索和尝试,我一无所知...
上下文
我在公司解决了类似的问题,但与巴西的夏令时有关。我们所有使用 PHP 7.0.32 的服务器时间都错了 1 小时,而使用 PHP 7.1 的服务器工作正常。
我们的服务器 运行 在 AWS EC2 实例上运行。我们的时区是 America/Sao_Paulo
。 值得注意的是,我们的主要目标是 "update timelib PHP extension",但我们发现这不是必需的,因为更新时区数据库版本足以解决我们的问题。
解决方案
为了解决那个过时的日期时间问题,我从 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 和...
我在 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" 没有成功,经过数小时的谷歌搜索和尝试,我一无所知...
上下文
我在公司解决了类似的问题,但与巴西的夏令时有关。我们所有使用 PHP 7.0.32 的服务器时间都错了 1 小时,而使用 PHP 7.1 的服务器工作正常。
我们的服务器 运行 在 AWS EC2 实例上运行。我们的时区是 America/Sao_Paulo
。 值得注意的是,我们的主要目标是 "update timelib PHP extension",但我们发现这不是必需的,因为更新时区数据库版本足以解决我们的问题。
解决方案
为了解决那个过时的日期时间问题,我从 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 和...