Контекст
Я решил аналогичную проблему в своей компании, но она связана с переходом на летнее время в Бразилии. Время было неправильным на 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 и ...