Как обновить timezondb в php (обновление цифровой информации)?

StackOverflow https://stackoverflow.com/questions/3564478

  •  01-10-2019
  •  | 
  •  

Вопрос

PHPINFO () показывает нашу систему, которая будет использоваться «» «Olson» Database TimeZone версии 2010.3. я думать Это сейчас устарело, но не может найти авторитетное место, которое может подтвердить это.

(а) Могу ли я обновить информацию о часовых поясах для PHP в целом? (б) если так, как мне это обновить? Я видел инструкции на http://www.electrictoolox.com/correct-php-itezone/ Где он говорит, что после установки соответствующего модуля он говорит, что я должен:

You should add "extension=timezonedb.so" to php.ini

Нам нужно сделать это? Не должен PHP автоматически использовать правильный файл?

Нет правильного решения

Другие советы

Насколько я знаю, TimeZone DB (TDB) распространяется в самом PHP. Из-за того, что TimeZone DB становится устаревшим через некоторое время, и вам следует либо обновлять PHP, либо TDB, чтобы отразить изменения в TDB.

Существует расширение PECL, которое выпускает новые пакеты TDB, которые вы можете загружать и установить и использовать их в старых установках PHP.

Я не знаю, что есть способ обновить TDB непосредственно в PHP. Расширение PECL было создано для достижения этой проблемы.

Лучше просто обновить свою версию PHP (специально, если вы хотите обновить его на автомате Windows, в противном случае вы должны компилировать расширение самостоятельно), потому что, насколько я помню, что расширение не готово к Windows, только Unix / Linux - так что если вы хотите сделать это в Windows, вам придется компилировать его, используя компилятор VC6 или VC9).

Итак, если вы сможете обновить вашу версию PHP, которая была бы самым быстромым решением (это было по крайней мере для меня), о том, конечно, PHP не может иметь последнюю версию DB DB, но мне пришлось решить проблему с TimeZone DB, и он был зафиксирован в Позже версия PHP, которую я имел. Если вы делаете это для Unix / Linux, вы также можете попробовать расширение PECL, я думаю, что может быть проще и быстрее для вас.

Расширение PECL буквально является временем DB. Каждый раз, когда новая версия БД выпускается из здесь, Расширение перекомпилировано с обновленным TimeZone DB.

Итак, вы фактически перезаписываете старое расширение с недавно перекомпилированной версией и перезагрузите свой веб-сервер; Предполагая PHP используется в качестве модуля.

Для выполнения полного обновления часового пояса (у нас были проблемы с неправильной российской / московской часовой поясом):

#for OS - CentOS and MySQL
yum update tzdata
mysql_tzinfo_to_sql /usr/share/zoneinfo
#for PHP
pecl upgrade timezonedb
pecl upgrade intl

#dependencies you may need for the above:
yum install gcc 
yum install gcc-c++
yum install libicu-devel
Лицензировано под: CC-BY-SA с атрибуция
Не связан с StackOverflow
scroll top