Как обновить timezonedb / timelib на php7 (plesk onyx)? - PullRequest
0 голосов
/ 29 августа 2018

я использую PHP версии 7.0.31 в системе Plesk Onyx.

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 голосов
/ 25 октября 2018

Контекст

Я решил аналогичную проблему в своей компании, но она связана с переходом на летнее время в Бразилии. Время было неправильным на 1 час на всех наших серверах, использующих PHP 7.0.32, в то время как серверы, использующие PHP 7.1, работают нормально.

Наши серверы работают на экземплярах AWS EC2. Наш часовой пояс America/Sao_Paulo. Важно отметить, что нашей главной целью было «обновить расширение PHP timelib», но мы обнаружили, что в этом не было необходимости, поскольку обновление версии базы данных часовых поясов было достаточно для решения нашей проблемы.

Решение

Чтобы решить эту устаревшую дату и время, я запустил следующие команды из 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

...