Pull to refresh

Установка корректного времени на сайте и сервере

Reading time1 min
Views26K
Из-за постоянных изменений с переходом на зимнее-летнее время в РФ это самое время может отображаться на вашем сайте и на сервере некорректно. К тому же время 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.

Не забудьте убрать «костыли», если подбирали подходящую зону для корректировки времени.
Tags:
Hubs:
-4
Comments19

Articles