Если время в Битрикс отображается некорректно (например, сдвинуто на час), проблема может быть связана с настройками часового пояса. В этой статье разберем, как исправить часовой пояс в Битрикс, не изменяя серверные настройки.
Проверка текущих настроек времени
Перед внесением изменений убедитесь, что проблема действительно связана с часовым поясом:
-
Проверка времени PHP
-
Создайте временный файл
test_time.phpв корне сайта с кодом:<?php echo "Текущая таймзона PHP: " . date_default_timezone_get() . "<br>"; echo "Текущее время: " . date("Y-m-d H:i:s"); ?>
-
Откройте его в браузере (
вашсайт.ru/test_time.php). Если время неверное, значит, требуется настройка.
-
-
Проверка времени в БД
-
Запустите в MySQL/MariaDB запрос:
SELECT @@global.time_zone, @@session.time_zone;
-
Если время не соответствует нужному, можно временно изменить его для сессии:
SET GLOBAL time_zone = 'Europe/Moscow';
-
Важно: Для постоянного изменения потребуется правка
my.cnf, что уже относится к настройке сервера.
-
Установка правильного часового пояса в Битрикс
Способ 1. Через файл dbconn.php (рекомендуется)
Этот метод меняет часовой пояс только для PHP-скриптов Битрикс, не затрагивая сервер.
-
Откройте файл
/bitrix/php_interface/dbconn.phpчерез FTP или файловый менеджер хостинга. -
Если файла нет — создайте его.
-
Добавьте строку с нужным часовым поясом (например, для Москвы):
<?php date_default_timezone_set("Europe/Moscow"); ?>
-
Сохраните изменения.
Способ 2. Через init.php (если dbconn.php недоступен)
-
Откройте
/bitrix/php_interface/init.php. -
Добавьте ту же строку:
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-настройки. Рекомендуется:
-
Проверить текущее время в PHP и БД.
-
Исправить часовой пояс через
dbconn.phpилиinit.php. -
Очистить кеш и проверить работу модулей.
Если проблема сохраняется, проверьте настройки сервера или обратитесь к хостинг-провайдеру.