Я помогаю вести форум, используя фреймворк Simple Machines Forum. Настройки времени форума правильные — все сообщения отображаются как правильное время для часового пояса автора.
Мы установили плагин (SMF называет его пакетом) для небольшой функции онлайн-чата. Временная метка в этой программе чата неверна — она не соответствует форуму. Я нахожусь в Мичигане (GMT-4), но он всегда показывает на четыре часа позже моего текущего времени (GMT 0).
Я провел огромное количество исследований по этому вопросу, и вот что у меня есть.
Вы изменили файл php.ini в настройке date.timezone корневого каталога?
Да.
[Date]
; Defines the default timezone used by the date functions
; http://php.net/date.timezone
date.timezone = "America/New_York"
Вы изменили файл index.php в настройках date_default_timezone_set каталога плагина?
Да.
if (!ini_get('date.timezone'))
date_default_timezone_set('America/New_York');
Я не очень хорошо разбираюсь в PHP, поэтому я мог бы добавить пробел или пропустить точку с запятой или что-то, что я просто не знаю, чтобы заметить. Я заметил, что отметки времени предыдущий Сообщения (до жесткого обновления) в журнале чата будут регулировать время, если я изменю часовой пояс. Тем не менее, текущие сообщения все еще придерживаются GMT0, так что мне интересно где-то переопределяет часовой пояс, который я пытаюсь установить для него.
Я в полной растерянности за то, что проверять дальше. Я вне моей глубины, как есть.
Задача ещё не решена.
Других решений пока нет …