У меня установлен 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, если это возможно.
Спасибо за помощь,
Dave