Назад

Как изменить часовой пояс в Битрикс без изменений на сервере?

Главная
Блог
Как изменить часовой пояс в Битрикс без изменений на сервере?

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

Проверка текущих настроек времени

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

  1. Проверка времени PHP

    • Создайте временный файл test_time.php в корне сайта с кодом:

      <?php  
      echo "Текущая таймзона PHP: " . date_default_timezone_get() . "<br>";  
      echo "Текущее время: " . date("Y-m-d H:i:s");  
      ?>  

    • Откройте его в браузере (вашсайт.ru/test_time.php). Если время неверное, значит, требуется настройка.

  2. Проверка времени в БД

    • Запустите в MySQL/MariaDB запрос:

      SELECT @@global.time_zone, @@session.time_zone;

    • Если время не соответствует нужному, можно временно изменить его для сессии:

      SET GLOBAL time_zone = 'Europe/Moscow';  

    • Важно: Для постоянного изменения потребуется правка my.cnf, что уже относится к настройке сервера.

Установка правильного часового пояса в Битрикс

Способ 1. Через файл dbconn.php (рекомендуется)

Этот метод меняет часовой пояс только для PHP-скриптов Битрикс, не затрагивая сервер.

  1. Откройте файл /bitrix/php_interface/dbconn.php через FTP или файловый менеджер хостинга.

  2. Если файла нет — создайте его.

  3. Добавьте строку с нужным часовым поясом (например, для Москвы):

    <?php  
    date_default_timezone_set("Europe/Moscow");  
    ?>  

  4. Сохраните изменения.

Способ 2. Через init.php (если dbconn.php недоступен)

  1. Откройте /bitrix/php_interface/init.php.

  2. Добавьте ту же строку:

    date_default_timezone_set("Europe/Moscow");  

Способ 3. Через D7 API (для современных проектов)

Если сайт использует D7-ядро, можно явно указать таймзону:

\Bitrix\Main\Context::getCurrent()->setTimeZone("Europe/Moscow");  

Дополнительные настройки

1. Очистка кеша

После изменения часового пояса:

  • Перейдите в Администрирование → Настройки → Производительность → Очистить кеш.

  • Очистите браузерный кеш (Ctrl + F5).

2. Проверка агентов и крон-задач

Убедитесь, что агенты (/bitrix/admin/agent_list.php) выполняются в правильном времени.

3. Проверка модулей

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

Список популярных часовых поясов

Полный список поддерживаемых PHP таймзон можно найти в официальной документации PHP.

Примеры:

  • Москва: Europe/Moscow

  • Киев: Europe/Kiev

  • Минск: Europe/Minsk

  • Лондон: Europe/London

  • Нью-Йорк: America/New_York

Заключение

Изменение часового пояса в Битрикс без правки сервера возможно через PHP-настройки. Рекомендуется:

  1. Проверить текущее время в PHP и БД.

  2. Исправить часовой пояс через dbconn.php или init.php.

  3. Очистить кеш и проверить работу модулей.

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

Нужен надежный исполнитель?
Разрабатываем сайты, выполняем миграцию на Битрикс, дорабатываем функционал, сопровождаем проекты, а также занимаемся поисковым продвижением и комплексным маркетингом
Получить консультацию
Читайте по теме
Все статьи
Нужен надежный исполнитель?
Разрабатываем сайты, выполняем миграцию на Битрикс, дорабатываем функционал, сопровождаем проекты, а также занимаемся поисковым продвижением и комплексным маркетингом
Получить консультацию
Все статьи