Как обновить timezondb в php (обновление цифровой информации)?
Вопрос
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