PHP Timezone

Вопросы по работе с Apache, Nginx, PHP, MySQL, Sendmail и т.д.
nerevar1n
Сообщения: 16
Зарегистрирован:
02 фев 2012, 21:25
Контактная информация:

PHP Timezone

nerevar1n » 22 фев 2012, 09:58

Привет, Максим.
Попробуй у себя попробовать выполнить следующий код:
		
		date_default_timezone_set('Asia/Tbilisi');
		print(date("Y-m-d H:i:s") . "<br>");
		date_default_timezone_set('Europe/Moscow');
		print(date("Y-m-d H:i:s"));
Столкнулся на работе с проблемой, что время часовом поясе Eupore/Moscow не совпадает с реальным.
Люди подсказывают, что это зависит от того, с какими таймзонами был скомпилирован php.

О себе: WinXP SP3, стоит патч http://support.microsoft.com/kb/2570791/en-us,
PHP 5.2.17 из коробки с параметром date.timezone = "Europe/Moscow" в конфиге.

Дома еще протестирую на WIn7
Аватара пользователя
Максим
Сообщения: 5392
Зарегистрирован:
11 дек 2010, 20:29
Контактная информация:

Re: PHP Timezone

Максим » 22 фев 2012, 11:18

Да, PHP компилируется со своей Timezone Database, и естественно что разработчики PHP врятли обновляют сборку PHP 5.2.17 под windows всякий раз когда какому-либо "главному" вздумается поменять в стране время.

Сборка была компилирована 06 January 2011, а на другое время Россия перешла лишь 30 октября.

Это на Linux легко взять и обновить базу временных зон и потом пересобрать PHP. В Windows тут таких возможностей нет. Разве что если вы не гуру Visual Studio 2008.

Рад бы помочь, но нечем. Только если брать левую перекомпилированную сборку под windows где-то. Но я не знаю какие сайты такой php выкладывают и можно ли им доверять. Найдёте - подскажите.

Как костыль - используйте время Тбилиси :-)

Это еще только начало. В России опять вернуть старое время собираются. Вот смеху то будет, когда откомпилируют с обновленной базой, а Россия опять время поменяет. :lol:
xoy
Сообщения: 1
Зарегистрирован:
22 фев 2012, 11:55

Re: PHP Timezone

xoy » 22 фев 2012, 11:57

pecl install timezonedb
nerevar1n
Сообщения: 16
Зарегистрирован:
02 фев 2012, 21:25
Контактная информация:

Re: PHP Timezone

nerevar1n » 22 фев 2012, 12:12

xoy писал(а):pecl install timezonedb
Да кстати, вот тут сорцы http://pecl.php.net/package/timezonedb которые можно собрать в dll и подключить в php.
This extension is a drop-in replacement for the builtin timezone database that
comes with PHP. You should only install this extension in case you need to get
a later version of the timezone database than the one that ships with PHP.
Аватара пользователя
Максим
Сообщения: 5392
Зарегистрирован:
11 дек 2010, 20:29
Контактная информация:

Re: PHP Timezone

Максим » 22 фев 2012, 12:33

xoy писал(а):pecl install timezonedb
На Windows такое не прокатит. Даже если пользователь смышлёный, установит PEAR и выполнит вашу команду + еще несколько команд по ходу установки, то в конце он упрётся в
ERROR: The DSP timezonedb.dsp does not exist.

Если знаете как это побороть, подскажите. Да и в любом случае, это ведь будет не портативный вариант.
Аватара пользователя
Максим
Сообщения: 5392
Зарегистрирован:
11 дек 2010, 20:29
Контактная информация:

Re: PHP Timezone

Максим » 22 фев 2012, 12:36

nerevar1n, если найдёте DLL которая будет на любой винде работать, подключим в проект.
Аватара пользователя
Максим
Сообщения: 5392
Зарегистрирован:
11 дек 2010, 20:29
Контактная информация:

Re: PHP Timezone

Максим » 22 фев 2012, 16:45

В продолжение темы: php_timezonedb.dll нашел, но самый свежий что есть в интернете - 2008 года. Сайт pecl4win.php.net мертвый, на pecl.php.net тоже ничего.
Ответить