Add new comment
Время на сервере базы данных отличается от времени на веб-сервере больше, чем на 10 минут
При проверке соединения с сайтом 1С-Битрикс из 1С:Комплексная автоматизация, редакция 1.1 возникает ошибка:
Авторизация не выполнена.
Не удалось установить соединение с сервером. Проверьте имя пользователя и пароль.
Ответ сервера: failure
Время на сервере базы данных отличается от времени на веб-сервере больше, чем на 10 минут. Вероятно неправильно настроены временные зоны. Выполните настройку и повторите обмен.
Не удалось установить соединение.
Имя пользователя и пароль в данном случае верные. Дело во времени на сервере базы данных. Для настройки времени необходимо сделать следующее.
1. Определим свой часовой пояс. Сделать это можно, например, здесь: http://php.net/manual/en/timezones.php
В моем случае это "Asia/Novosibirsk".
2. Устанавливаем часовой пояс для PHP. Для этого нужно отредактировать файл /bitrix/php_interface/dbconn.php и внести в него следующее:
date_default_timezone_set("Asia/Novosibirsk");
3. Устанавливаем часовой пояс для MySQL в файле /bitrix/php_interface/after_connect.php:
$DB->Query("SET LOCAL time_zone='".date('P')."'");
В файле /bitrix/php_interface/after_connect_d7.php:
$connection->queryExecute('SET LOCAL time_zone="'.date('P').'"');
Часовой пояс будет браться из настроек PHP.
Иногда система может не содержать информацию об отмене перехода на зимнее время в РФ. В это случае можно использовать прямое указание сдвига относительно GMT, например, для Москвы будет:
date_default_timezone_set("Etc/GMT-4");
$DB->Query("SET LOCAL time_zone='Etc/GMT-4'");