Телеграм: @camouf_ru Почта: mihail@bazarow.ru Заказать разработку проекта

Время на БД и веб сервере отличается на 3600 секунд, тест Битрикс

Достаточно часто, при проверке параметров системы, в Битрикс, можно увидеть одну из ошибок: Время на БД и на сервере- Время отличается на 3600 секунд (цифра может быть разной, но чаще всего именно эта). Ошибка возникает, как правило, при установке веб окружения битрикс на VPS/VDS. Все из-за неправильных настроек временной зоны.

Провести тест, можно из административной панели битрикс, находится по пути: Администрирование-> Настройки-> Инструменты-> Проверка системы. 

Так же, данную ошибку можно увидеть в модуле обмена  с сайтом на стороне 1С. При попытке обмена вам может выдать ошибку "Авторизация не пройдена"- даже если уверены, что правильно внесли адрес сайта, логин пользователя с правом обмена и его пароль, а проверка подключения все равно не проходит- скорее всего у вас именно эта ошибка времени на БД и на веб сервере.

Есть два способа решения ошибки

Не очень правильный: Открыть на редактирование файл /bitrix/php_interface/after_connect_d7.php и внести в него строчку.

$connection->queryExecute("SET LOCAL time_zone='".date('P')."'");

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

Подключаемся к серверу по SFTP/FTP протоколу, открываем файл по пути /etc/php.ini (да, именно его, а не /etc/php.d/bitrixenv.ini). И вносим строчку

timezone =  Europe/Moscow

Перезагружаем Apache командой

service httpd restart

Все, после этого и ошибка пропадет и 1С сконнектится с сайтом.

Дополнено: Смена часового пояса на уровне системы в CentOS

Предыдуший способ менят часовой пояс на уровне php. Можно сделать совсем правильно и гарантировано работоспособно: сменить часовой пояс в самой системе CentOS

Открываем терминал и вводим команды

  • mv /etc/localtime /etc/localtime-old - бекапим файл часовых зон
  • ln -s /usr/share/zoneinfo/Europe/Moscow /etc/localtime - делаем ссылку на часовую зону
  • date - убеждаемся что время правильное, выдаст текущую дату и время

PS: Само собой, если у вас 1С и сервер с сайтом работают в другом часовом поясе- выставляйте свой вместо Europe/Moscow

Просмотров: 13136 | Комментариев: 1

Комментарии

Внимание! все сообщения проходят премодерацию. Ваше сообщение появится после проверки
 
Текст сообщения*
Загрузить файл или картинкуПеретащить с помощью Drag'n'drop
Перетащите файлы
Ничего не найдено
Защита от автоматических сообщений
Загрузить файл
Нажимая кнопку "Отправить", Вы принимаете условия
Политики конфиденциальности и обработки персональных данных
Александр Неви
Спасибо за уроки!
Сайт крутится локально в Docker контейнре Ubuntu - помогло сменить локальное системное время:[TABLE][TR][TH]Код[/TH][/TR][TR][TD]ln -fs /usr/share/zoneinfo/Europe/Moscow /etc/localtime[/TD][/TR][/TABLE]
Имя Цитировать
Поделиться страницей Спасибо, это помогает развивать сайт.
Мой youtube канал. C 1-го сентября начнется выход видеокурса по разработке доски объявлений с мобильным приложением.
Перейти на канал Подписывайтесь и будьте в курсе:
Заметки разработчика

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

attention