И так, перевели часы и вот что произошло.test> date
Mon Oct 27 11:34:21 MSK 2014
test> date -u
Mon Oct 27 08:34:22 UTC 2014
test> php 1.php
27.10.14 12:34:26
+0400
Mon, 27 Oct 2014 12:34:26 +0400test> cat 1.php
<?
print date ("d.m.y H:i:s\nO\nr")."\n";
?>test> php -v
PHP 5.4.25 (cli) (built: Mar 2 2014 04:11:24)
Copyright (c) 1997-2014 The PHP Group
Zend Engine v2.4.0, Copyright (c) 1998-2014 Zend Technologies
test>Временная зона в системе обновлена, но ПОХАПЕ упорно не хочет с ней работать.
Почему?
да, забыл указать, что в php.ini все верноdate.timezone = "Europe/Moscow"
> да, забыл указать, что в php.ini все верно
> date.timezone = "Europe/Moscow"http://habrahabr.ru/post/240937/
Если собран с опцией --with-system-tzdata то использует системную, если нет — то нужен модуль timezonedb
pecl install timezonedb
echo "extension=timezonedb.so" > /etc/php5/conf.d/timezonedb.ini# или, если уже было установлено
pecl upgrade timezonedb
>> да, забыл указать, что в php.ini все верно
>> date.timezone = "Europe/Moscow"
> http://habrahabr.ru/post/240937/
> Если собран с опцией --with-system-tzdata то использует системную, если нет — то
> нужен модуль timezonedb
> pecl install timezonedb
> echo "extension=timezonedb.so" > /etc/php5/conf.d/timezonedb.ini
> # или, если уже было установлено
> pecl upgrade timezonedbО! теперь чтоб правильно шло время надо подключать стороннюю библиотеку! Шикарно!
а опции в --with-system-tzdata в конфигураторе нет
> О! теперь чтоб правильно шло время надо подключать стороннюю библиотеку! Шикарно!"--Гиви, я ни как не пойму, ты вообще за кого - за меня или за медведя?"
+++Кто хочет делать, ищет возможности, кто не хочет — ищет причину.
> а опции в --with-system-tzdata в конфигураторе нет
>[оверквотинг удален]
>>> date.timezone = "Europe/Moscow"
>> http://habrahabr.ru/post/240937/
>> Если собран с опцией --with-system-tzdata то использует системную, если нет — то
>> нужен модуль timezonedb
>> pecl install timezonedb
>> echo "extension=timezonedb.so" > /etc/php5/conf.d/timezonedb.ini
>> # или, если уже было установлено
>> pecl upgrade timezonedb
> О! теперь чтоб правильно шло время надо подключать стороннюю библиотеку! Шикарно!
> а опции в --with-system-tzdata в конфигураторе нетТы еще в mysql не делал set time_zone = 'Europe/Moscow'
Попробуй, порадуйся.
>> да, забыл указать, что в php.ini все верно
>> date.timezone = "Europe/Moscow"
> http://habrahabr.ru/post/240937/
> Если собран с опцией --with-system-tzdata то использует системную, если нет — то
> нужен модуль timezonedbА чтоб собирать "с опцией", надо пропатчить патчем, например (опиригального апстрима не искал),
php-5.3.1-systzdata-v10.patch
в
php54-php-5.4.34-1.remi.src.rpm
в
http://rpms.famillecollet.com/SRPMS/?C=M;O=D
, а он"""Add support for use of the system timezone database, rather than embedding a copy. Discussed upstream but was not desired.
>[оверквотинг удален]
> test> php 1.php
> 27.10.14 12:34:26
> +0400
> Mon, 27 Oct 2014 12:34:26 +0400
> test> cat 1.php
> <?
> print date ("d.m.y H:i:s\nO\nr")."\n";
> ?>
> test> php -v
> PHP 5.4.25 (cli) (built: Mar 2 2014 04:11:24)5.4.34 же на дворе! Обновите пакеты - патчи безопасности *и* новые tzdata приедут, если повезёт.
> Copyright (c) 1997-2014 The PHP Group
> Zend Engine v2.4.0, Copyright (c) 1998-2014 Zend Technologies
> test>
> Временная зона в системе обновлена, но ПОХАПЕ упорно не хочет с ней
> работать.
> Почему?http://stackoverflow.com/questions/3564478/how-to-update-tim...
PHP носит с собой копию tzdata (как PostgreSQL в неправильной сборке http://www.opennet.me/openforum/vsluhforumID3/99593.html#11 , как java, как ...).
Я порешал (на неподдерживаемом SLES10, :/да & бросив пересборку .src.rpm почти сразу), найдя и поставив новый php5-timezonedb под "свой" пакет php.
Проверка:
$ php -r '$p=new DateTime("12:00 01 Oct"); print $p->format("c")."\n"; $p=new DateTime("12:00 01 Nov"); print $p->format("c")."\n";'
2014-10-01T12:00:00+04:00
2014-11-01T12:00:00+03:00...правильно - +04 и +03, неправильно - +04 и +04.
---С раздельными .ini для cli / apache и установкой date.timezone= оставляю читателю разбираться самостоятельно, если таковая необходимость случится.