Проблема с часовым поясом PHP по умолчанию на Fedora + Zend Server CE

У меня ZendServer CE (PHP 5.2) установлен на виртуальной машине Fedora, а системный часовой пояс установлен на «Америка / Чикаго». У меня есть date.timezone = 'UTC' в моем файле php.ini, и когда я вызываю date_default_timezone_get () или отображаю дату ('T') на веб-странице, он говорит 'CDT'.

В документации на php.net для date_default_timezone_get () говорится, что при выборе часового пояса по умолчанию он следует этому порядку:

 - Reading the timezone set using the
   date_default_timezone_set() function
   (if any)
 - Reading the TZ environment variable
   (if non empty)
 - Reading the value of the
   date.timezone ini option (if set)
 - Querying the host operating system
   (if supported and allowed by the OS)

Если я изменю системный часовой пояс через графический интерфейс «setup» и перезагружу сервер, date ('T') вернет все, что я изменил системный часовой пояс, независимо от того, что говорит php.ini. У меня также нет переменной среды TZ, и я в настоящее время не использую date_default_timezone_set () где-либо в моем коде.

Есть идеи, что может происходить? Я понимаю, что всегда могу переопределить системный часовой пояс, вызвав date_default_timezone_set ('UTC'), но я бы предпочел по возможности полагаться на файл php.ini.

Спасибо за помощь,

Дэйв


person Dave Morris    schedule 08.04.2010    source источник


Ответы (1)


Я думаю, у вас есть набор TZ, хотя вы думаете, что нет. Пожалуйста, будьте осторожны, ознакомьтесь с этим руководством, чтобы лучше понять TZ.

http://www.cyberciti.biz/tips/date-command-set-tz-environment-variable.html http://www.cyberciti.biz/faq/howto-linux-unix-change-setup-timezone-tz-variable/

Также попробуйте посмотреть, что находится в .bashrc вашего пользователя.

person Ivo Sabev    schedule 08.04.2010
comment
Я только что понял, в чем дело. Оказывается, «UTC» не является допустимым выбором для date.timezone в php.ini в Fedora. Я изменил его на «Etc / UTC» и перезагрузил apache, и он сработал. Кто знал, что часовые пояса могут быть такими сложными? Спасибо за помощь, Иво. - person Dave Morris; 09.04.2010