Так что я из Великобритании и хостинг в США. Я связался с моим хостом и сказал, что время моего сервера установлено на 6 часов по сравнению с GMT. Они сказали, что мне нужно изменить это в моей CMS.
Как мне это сделать? Всякий раз, когда я ставлю сейчас (), я получаю неправильное время.
Никогда не видел этого раньше, может ли кто-нибудь предложить какие-либо предложения?
Вы можете изменить часовой пояс, используя PHP
 putenv("TZ=Europe/London"); 
или если это вызывает ошибку:
 date_default_timezone_set('Europe/London'); 
Альтернативно, если вы можете получить доступ к своему php.ini (возможно, не из-за вашего хостинга)
 date.timezone = "Europe/London" 
Измените настройку выше, и вы должны быть в порядке. Дополнительно к вышесказанному вы можете установить php.ini с помощью PHP
 ini_set('date.timezone', 'Europe/London'); 
http://www.php.net/manual/en/timezones.europe.php
В моей спешке ответить – вы могли бы написать GMT вместо Европы / Лондона
  Для MySQL – вы можете выполнить SET time_zone = 'GMT' перед вашими запросами, чтобы установить временные зоны time_zone config docs . 
  Для PHP – вы можете выполнить date_default_timezone_set() используя один из поддерживаемых часовых date_default_timezone_set() .  Вы также можете установить значение с помощью директивы .htaccess : 
 php_value date.timezone UTC 
Вы можете определить, сколько секунд вы находитесь перед местоположением в США, время сервера установлено и добавляет это значение в метку времени, чтобы получить правильное время.
  Например, если сервер находится в Нью-Йорке, то это на 18000 секунд отстает от времени в Лондоне.  Таким образом, получение правильной даты будет: <?php $now = date('d M Y', (time() + 18000)) ?> 
Используйте DateTime :: setTimeZone, чтобы определить часовой пояс. Документация находится в http://www.php.net/manual/en/datetime.settimezone.php