На сервере Win2k, используя стек WAPP (Windows, Apache, PostgreSQL, PHP). Запуск PHP веб-приложения. Также протестировано с использованием интерактивной консоли PHP.
Дата и время сообщаются правильно, но по какой-то странной причине часовой пояс сообщается неправильно:
php -a
<?php
echo date('c');
2009-04-19T16:52:35-04:00
C:\WAPP\php>time /t
17:06
C:\WAPP\php>date /t
Sun 04/19/2009
Часовой пояс ОС сервера фактически установлен на GMT-5. Я использовал (неофициальное) исправление DST, а также пытался использовать расширение php_timezonedb.dll, но проблема сохраняется.
На этом сервере также запущены другие приложения (не под моим контролем), поэтому я не могу просто изменить время.
Я мог бы также временно установить для всех в GMT-4 время в приложении PHP, но я чувствую, что должно быть менее хакерское решение.
Есть ли у кого-нибудь какие-либо предложения или может дать более подробное объяснение того, что происходит? Я подозреваю, что это как-то связано с недавними изменениями в DST и Windows, и это заставляет PHP неправильно определять часовой пояс.