Настройки часового пояса: «UTC» и «местное» время указаны неверно

Вопрос или проблема

На странице “Общие настройки” моего сайта на WordPress неправильно отображаются UTC и местное время (см. скриншот ниже).

введите описание изображения здесь

Отображаемые UTC и местное время неверны. Должно быть указано, что местное время – “15:52”

  • У меня установлен WordPress 4.9.6 и PHP 7.0.30.
  • Настройки часового пояса в моем файле “php.ini” установлены правильно – когда я вызываю функции date() и date_default_timezone_get() из отдельного PHP-скрипта, они выводят корректную информацию.
  • Часы на моем веб-сервере Windows корректны и установлены на правильный часовой пояс.
  • Время отображается неправильно, когда я вызываю следующую функцию WordPress (оно отстает на 4 часа от того, что должно быть): current_time('Y-m-d H:i').

В этой теме говорится, что проблема вызвана плохим плагином. На самом деле, у меня был установлен именно этот плагин, но деактивация (а затем удаление) плагина не исправила проблему.

В этой теме говорится, что это связано с поврежденными определениями часового пояса на сервере. Там даны инструкции по исправлению этого для Linux, но не для Windows. Тем не менее, у меня есть другие сайты на WordPress, размещенные на том же сервере, и у них этой проблемы нет.

Проблема также была опубликована здесь: https://wordpress.org/support/topic/timezone-settings-utc-and-local-times-are-incorrect/

Это установлено в вашей базе данных и также используется в настройках PHP на сервере. Дважды проверьте настройки PHP, если вы можете ими управлять. Есть параметр часового пояса, который вы можете ввести в php.ini (PHP -v показывает вам все это). Для MySQL… вам нужно посмотреть на глобальные настройки, о которых я сейчас забываю.

Ответ или решение

Для решения проблемы с некорректными значениями UTC и локального времени на вашем сайте WordPress, выполните следующие шаги:

  1. Проверка настроек часового пояса в WordPress:

    • Зайдите в админ панель WordPress и перейдите в «Настройки» → «Общие».
    • Убедитесь, что в пункте «Часовой пояс» установлен правильный часовой пояс, соответствующий вашему местоположению. Если вы хотите, чтобы время отображалось корректно, выберите свой часовой пояс из списка.
  2. Проверка файла php.ini:

    • Хотя вы упомянули, что в вашем php.ini файл установлен правильный часовой пояс, нужно убедиться, что он установлен корректно. Откройте php.ini и найдите строку:
      date.timezone = "Europe/Moscow"

      Убедитесь, что значение совпадает с вашим часовым поясом. После внесения изменений не забудьте перезапустить веб-сервер.

  3. Проверка настроек MySQL:

    • Убедитесь, что сервер MySQL также настроен на правильный часовой пояс. Подключитесь к MySQL и выполните следующий запрос:
      SELECT @@global.time_zone, @@session.time_zone;

      Если они отображают SYSTEM, это означает, что они зависят от настроек сервера. Для установки часового пояса в MySQL используйте команду:

      SET GLOBAL time_zone = 'Europe/Moscow';

      Также можете добавить эту строку в конфигурационный файл my.cnf или my.ini:

      [mysqld]
      default-time-zone = 'Europe/Moscow'
  4. Проверка плагинов и тем:

    • Деактивация плагинов иногда помогает, но в вашем случае, если это не решило проблему, попробуйте переключиться на стандартную тему WordPress (например, Twenty Twenty-One) и посмотрите, изменится ли отображаемое время.
  5. Кэширование:

    • Если на вашем сайте используется плагин кэширования, очистите кэш, чтобы изменения вступили в силу.
  6. Обновление WordPress:

    • Убедитесь, что вы используете актуальную версию WordPress. Хотя у вас стоит версия 4.9.6, рекомендуется обновить ее до последней стабильной версии, так как в новых релизах могут быть исправления для проблем с отображением времени.
  7. Проверка кода:

    • Если вы используете кастомный код для вывода времени, убедитесь, что он корректно учитывает локальный часовой пояс через функцию current_time() и передает нужный параметр.

Если после выполнения всех этих шагов проблема не решена, возможно, стоит рассмотреть возможность обращения к вашему хостинг-провайдеру для дальнейшего анализа настроек сервера или выполнения дополнительных проверок.

Оцените материал
Добавить комментарий

Капча загружается...