Из-за постоянных изменений с переходом на зимнее-летнее время в РФ это самое время может отображаться на вашем сайте и на сервере некорректно. К тому же время PHP (если собран без опции —with-system-tzdata) и системное время — разные вещи. Поэтому нужно проводить две настройки.
Как то помучился с поиском решения этой проблемки, делюсь фиксом.
У меня «родная» временная зона Europe/Moscow, но время на сервере бежало вперёд на час, поэтому я корректировал на сервере и в php таймзону на Europe/Kaliningrad. Для PHP прописал в etc/php5/apache2/php.ini:
date.timezone = "Europe/Kaliningrad"
Но это как бы «костыли». Будем делать «по феншую»…
Для PHP нужно установить или обновить timezonedb:
pecl install timezonedb
или
pecl upgrade timezonedb
и подключить расширение:
echo "extension=timezonedb.so" > /etc/php5/conf.d/timezonedb.ini
Перезапускаем веб-сервер и радуемся…
Если у вас не обновлялась база часовых поясов в системе, то загружаем и ставим последнюю версию:
mkdir ~/timezone cd ~/timezone wget ftp://ftp.iana.org/tz/tzdata-latest.tar.gz tar zxvf tzdata-latest.tar.gz zic europe ln -sf /usr/share/zoneinfo/Europe/Moscow /etc/localtime
В некоторых дистрибутивах Linux, вместо ссылки используется копирование скомпилированного файла в /etc/localtime.
Не забудьте убрать «костыли», если подбирали подходящую зону для корректировки времени.
ссылка на оригинал статьи http://habrahabr.ru/post/269449/
Добавить комментарий