У меня 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.
Спасибо за помощь,
Дэйв