php.ini часовой пояс по умолчанию против date.timezone
Когда я использую PHPdate()
работать на двух разных серверах, я получаю два разных результата, но оба сервера должны быть одинаковыми.
Я проверилphp.ini
файл на сервере № 1, где время правильное и выглядит следующим образом:
date/time support enabled
"Olson" Timezone Database Version 0.system
Timezone Database internal
Default timezone America/Chicago
Directive Local Value Master Value
---------------------------------------------------
date.timezone America/Chicago America/Chicago
Я проверил на сервере № 2, и это выглядит следующим образом:
date/time support enabled
"Olson" Timezone Database Version 0.system
Timezone Database internal
Default timezone UTC
Directive Local Value Master Value
---------------------------------------------------
date.timezone America/Chicago America/Chicago
Единственное отличие, которое я вижу, это "Часовой пояс по умолчанию " значение.
Дата / время для обоих серверов отображаются как:
Server #1: 10/23/2012 09:40:39
Server #2: 10/23/2012 14:40:39
Я подтвердил, что оба сервера используютphp.ini
расположен в/etc
и я также искал в обоих веб-каталогах любое место, где часовой пояс мог бы быть перезаписан:
grep -r "date_default_timezone_set" *
Но в этом отношении они оба содержат одинаковые файлы с одинаковыми настройками.
Является "Часовой пояс по умолчанию " какие'Вызывает 5-часовую разницу? Если так, как я могу это исправить?
ОБНОВИТЬ
Загруженные файлы конфигурации.
Сервер № 2 содержит два дополнительных INI-файла:
/etc/php.d/snmp.ini
/etc/php.d/apc.ini
php -i результаты.
Сервер № 1:
date/time support => enabled
"Olson" Timezone Database Version => 0.system
Timezone Database => internal
Default timezone => America/Chicago
Directive => Local Value => Master Value
date.timezone => America/Chicago => America/Chicago
Сервер № 2:
date/time support => enabled
"Olson" Timezone Database Version => 0.system
Timezone Database => internal
Default timezone => America/Chicago
Directive => Local Value => Master Value
date.timezone => America/Chicago => America/Chicago
Какие'Интересно отметить, что по какой-то причинеЧасовой пояс по умолчанию " не совпадает на сервере № 2 при просмотре черезphp -i
противphpinfo()
на веб-странице.
РЕШЕНИЕ
Проблема была с CMS и ее плагинами. Хотя на серверах № 1 и № 2 были одинаковые файлы и все, похоже, что плагины загружаются не в одном и том же порядке на каждом сервере, что позволило последнему загруженному плагину определить часовой пояс моего скрипта.
Причинаphp -i
а такжеphpinfo
отличается, потому что после того, как вы используетеdate_default_timezone_set()
, это влияет на то, чтоphpinfo()
напечатает.
Исправление было гарантией того, что ям в часовом поясе мне нужно было черезdate_default_timezone_set()
, Причина, по которой неЯ работал до того, как опубликовал этот вопрос, потому что я объявил об этом до загрузки нескольких необходимых файлов из CMS, что, вероятно, снова установило там часовой пояс.