Обновление timezone для PHP

26 октября был перевод стрелок в России на час назад. Многие системы автоматически обновили timezone. Как пользователь MacOs, iOS8 я с проблемами не столкнулся. Однако проблема осталась в php. Просто скрипт

echo date("Y-m-d H:i:s");

возвращал время на час вперед. Почему так происходит?

В PHP встроена своя собственная база временных зон. Каждая новая версия поставляется со своей базой. Поэтому если вас постигла та же участь с неправильным временем, то ее можно решить, обновившись на новую версию PHP.

Есть еще один вариант, это использовать пакет pecl под названием timezonedb. Ставится он достаточно просто

sudo pecl install timezonedb

Если возникает такая ошибка,

sudo pecl install timezonedb</span>
downloading timezonedb-2013.7.tgz ...
Starting to download timezonedb-2013.7.tgz (195,474 bytes)
.........................................done: 195,474 bytes
5 source files, building
running: phpize
grep: /usr/include/php/main/php.h: No such file or directory
grep: /usr/include/php/Zend/zend_modules.h: No such file or directory
grep: /usr/include/php/Zend/zend_extensions.h: No such file or directory
Configuring for:
PHP Api Version:
Zend Module Api No:
Zend Extension Api No:
Cannot find autoconf. Please check your autoconf installation and the
$PHP_AUTOCONF environment variable. Then, rerun this script.

ERROR: `phpize' failed

то проверьте, что у вас установлены инструменты для разработчика

xcode-select --install

Появится окно с инструкциями. После этого проверьте autoconf, automake.
brew install autoconf automake

После этого снова запускайте установку timezonedb. Проверяем время в php и радуемся, что все стало хорошо.

Добавить комментарий

Ваш e-mail не будет опубликован. Обязательные поля помечены *

:D :) ^_^ :( :o 8) ;-( :lol: xD :wink: :evil: :p :whistle: :woot: :sleep: =] :sick: :straight: :ninja: :love: :kiss: :angel: :bandit: :alien: