Я использую 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 час на всех наших серверах, использующих 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:
Затем просто запустите что-то вроде:
nano /etc/php.ini
А затем добавьте следующую строку в последняя строка вашего файла php.ini:
extension=timezonedb.so
Чтобы проверить, успешно ли выполнено обновление, перезапустите php / php-fpm с помощью следующей команды:
service php-fpm restart
Тогда давайте снова перейдем к PHPINFO и …
Других решений пока нет …