Всем привет! Извиняюсь за некропостинг (хотя не такой уж и некро). Проблема аналогичная. Собственно 26 октября мы дружно перейдем на зимнее время. Проблема в следующем:
Имеем:
1) PHP 5.5.12
2) PHP 5.6.1 (или 5.6.0 есть обе)
Оба пыха собраны абсолютно одинаково и имеют одинаковые настройки.
У обоих стоит
Код:
date.timezone = "Europe/Moscow"
В системе (Ubuntu Server 14.04 с последними обновлениями если это важно) timezone тоже Europe/Moscow
Код:
$ cat /etc/timezone
Europe/Moscow
Установлена последняя актуальная версия tzdata (которая tzdata-h). Т.е. в ней зашит перевод времени 26 октября:
Код:
$ zdump -v Europe/Moscow | grep 2014
Europe/Moscow Sat Oct 25 21:59:59 2014 UT = Sun Oct 26 01:59:59 2014 MSK isdst=0 gmtoff=14400
Europe/Moscow Sat Oct 25 22:00:00 2014 UT = Sun Oct 26 01:00:00 2014 MSK isdst=0 gmtoff=10800
Собственно проблема в следующем: разные пыхи выдают разные даты у одного и того же timestamp если он после 26 октября 2:00, например:
1) PHP 5.5.12
Код:
$ php -r "echo date('r', 1415620800);"
Mon, 10 Nov 2014 16:00:00 +0400
2) PHP 5.6.1 (и 5.6.0)
Код:
$ php -r "echo date('r', 1415620800);"
Mon, 10 Nov 2014 15:00:00 +0300
при этом Mysql выдает:
Код:
mysql> SELECT @@global.time_zone, @@session.time_zone;
+--------------------+---------------------+
| @@global.time_zone | @@session.time_zone |
+--------------------+---------------------+
| SYSTEM | SYSTEM |
+--------------------+---------------------+
1 row in set (0.00 sec)
mysql> SELECT FROM_UNIXTIME(1415620800);
+---------------------------+
| FROM_UNIXTIME(1415620800) |
+---------------------------+
| 2014-11-10 15:00:00 |
+---------------------------+
1 row in set (0.01 sec)
Знаю что подобные проблемы были в старых версиях пыха и эта проблема была исправлена в 5.5.*, кто нибудь может объяснить как так и что делать? Pecl timezonedb не помогает. При этом на работе стоит php 5.3.13 там аналогичная проблема выскочила: пых со старым tzdata выдает 16:00, с новым 15:00. При этом со старым tzdata и с pecl timezonedb выдает так же 15:00, а mysql 16:00.
Голова взорвется скоро ( Коллеги, прошу помощи.