Неправильное время UTC и местное время только на WordPress

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

Мой WordPress показывает неправильное время,
вставьте описание изображения здесь

Время UTC на картинке должно быть 18:06:28, а местное время 15:06:28, поэтому время UTC показывается как местное. Я использую свой VPS на Digital Ocean, и часовой пояс установлен правильно,

ls -l /etc/localtime
lrwxrwxrwx 1 root root 36 Apr 19 23:20 /etc/localtime -> /usr/share/zoneinfo/America/Santiago

Также у меня есть другие PHP-скрипты на сервере, и время там правильное, например, cron-задание для WHMCS работает отлично, это моя конфигурация времени на WordPress

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

Как это исправить? Проблема есть на всех моих сайтах WordPress, и на сайтах WooCommerce время на заказах тоже неправильное.

Я использую PHP 7 и последнюю версию WordPress

Я уже пробовал установить часовой пояс в php.ini и в глобальной конфигурации PHP у меня установлен America/Santiago

Дата на сервере правильная

root@server:~# timedatectl
      Local time: Fri 2018-04-20 22:15:40 -03
  Universal time: Sat 2018-04-21 01:15:40 UTC
        RTC time: Sat 2018-04-21 01:15:40
       Time zone: America/Santiago (-03, -0300)
 Network time on: yes
NTP synchronized: yes
 RTC in local TZ: no

PHP тоже

php > echo date_default_timezone_get(time());
America/Santiago

Это может быть решением для вас:
https://wordpress.org/support/topic/utc-time-and-local-time-problems/

Говорится, что это проблема с конфигурацией PHP, а не WordPress.

(Приношу решение сюда для удобства обращения)

  1. Если у вас есть доступ к оболочке, вы получаете правильную дату/время, когда вводите «date» в командной строке? Если это не так, свяжитесь с вашим хостингом.

  2. Попробуйте добавить правильный часовой пояс в php.ini: http://www.inmotionhosting.com/support/website/php/setting-the-timezone-for-php-in-the-phpini-file (И проверьте, отображает ли он правильный часовой пояс)

  3. Проверьте ваши плагины, если какой-либо из них изменяет что-то в часах WordPress. По ссылке, которую я отправил выше, проблема была решена отключением плагина календаря.

Обе эти ссылки ниже могут помочь вам в поиске тоже, я не могу указать, что может это решить, так как отсутствует информация по этой теме о том, что они там говорят, но надеюсь, это внесет ясность в вашу проблему!

https://wordpress.org/support/topic/utc-time-wrong/page/2/

Исправление времени UTC – эффекты WordPress

Попробуйте искать во всех файлах в вашей папке /wp-content/ на наличие ссылок на эту функцию:

date_default_timezone_set

Если тема или плагин вручную определяет это, это может сбить с толку вашу установку WP. У меня была аналогичная ситуация, как та, которую вы здесь описываете, и источником был вот эта строка в верхней части файла functions.php темы:

date_default_timezone_set( 'America/New_York' );

В результате неверное время UTC отображалось в Настройки > Основные настройки:

Universal time (UTC) is 2018-10-05 12:05:18. Local time is 2018-10-05 08:05:18.

После удаления этой строки появилось правильное время:

Universal time (UTC) is 2018-10-05 16:06:01. Local time is 2018-10-05 12:06:01.

У меня была такая же проблема, она была вызвана неправильным содержимым файла /usr/share/zoneinfo/UTC. После восстановления хорошей версии проблема была решена. Если строки /usr/share/zoneinfo/UTC отображают более 3 строк или отображают другие часовые пояса, кроме UTC, этот файл не имеет правильного содержимого.

Как упомянул @Jan-Pieter, это может быть связано с поврежденным файлом /usr/share/zoneinfo/UTC. Если у вас нет оригинала, вы можете сбросить его к настройкам по умолчанию.

На дистрибутивах на базе Debian, включая Ubuntu, выполните следующую SSH-команду: $sudo apt-get install --reinstall tzdata

Для CentOS (или других дистрибутивов на базе Red Hat) используйте:
$sudo yum reinstall tzdata

Или для более новых версий используя dnf:
$sudo dnf reinstall tzdata

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

Проблема с неправильным временем в WordPress может быть связана с несколькими факторами, несмотря на то, что ваш сервер настроен правильно. Рассмотрим различные шаги для устранения неполадок и решения этой проблемы.

Шаги по устранению проблемы с неправильным временем в WordPress:

  1. Проверка системного времени:
    Убедитесь, что на сервере правильно установлено системное время. Выполните команду:

    date

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

  2. Настройка временной зоны в PHP:
    Так как у вас установлен правильный временной пояс (America/Santiago), проверьте файл php.ini на наличие строки, устанавливающей временную зону. Это можно сделать, добавив следующую строку:

    date.timezone = "America/Santiago"

    После внесения изменений перезапустите веб-сервер (например, Apache или Nginx), чтобы изменения вступили в силу.

  3. Проверка временной зоны в WordPress:
    В панели управления WordPress перейдите в "Настройки" > "Общие" и убедитесь, что выбран правильный часовой пояс. Там вы можете выбрать свой регион, чтобы убедиться, что WordPress использует нужную временную зону.

  4. Проверка на наличие конфликтующих плагинов или тем:
    Отключите все плагины, чтобы проверить, не вызывает ли кто-то из них конфликт, который может менять настройки времени. Если проблема исчезла, включайте плагины по одному, чтобы идентифицировать виновника. Также проверьте файл functions.php вашей темы на наличие строки, которая может перезаписывать установленную временную зону:

    date_default_timezone_set('America/New_York');
  5. Проверка файла временной зоны:
    В некоторых случаях файл /usr/share/zoneinfo/UTC может быть поврежден. Выполните команду для переустановки данных о временных зонах:

    • Для Debian и Ubuntu:
      sudo apt-get install --reinstall tzdata
    • Для CentOS и других распределений на базе Red Hat:
      sudo yum reinstall tzdata
  6. Проверка исправности всех файлов временной зоны:
    Убедитесь, что в файле /usr/share/zoneinfo/UTC нет лишней информации. Файл должен содержать только три строки, определяющие правильный UTC. Если он поврежден, следует восстановить правильную версию.

Если вы выполните все шаги и проблема все еще не устранена, возможно, дело в более глубоком конфликтаб между сервером и установленным программным обеспечением. Рекомендуется также проверить логи сервера на наличие ошибок, которые могут помочь в диагностике проблемы.

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

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

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