Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
- Pick a username
- Email Address
- Password
By clicking “Sign up for GitHub”, you agree to our terms of service and
privacy statement. We’ll occasionally send you account related emails.
Already on GitHub?
Sign in
to your account
Материал из Wiki — Iphoster — the best ever hosting and support. 2005 — 2023
Перейти к:навигация, поиск
Ошибка при проверке:
Время на БД и веб-сервере Ошибка! Время отличается на 7200 секунд
1) Подкорректировать время на сервере и для php на MSK:
CentOS_-_устанавливаем_временную_зону_date.timezone_для_сервера_и_скриптов
2) Добавить в файл bitrix/php_interface/dbconn.php строку
date_default_timezone_set("Etc/GMT+3");
Добавить в файл bitrix/php_interface/after_connect_d7.php строки
<?
$connection = \Bitrix\Main\Application::getConnection();
$connection->queryExecute("SET NAMES 'cp1251'");
$connection->queryExecute("SET LOCAL time_zone='".date('P')."'");
?>
Добавить в файл bitrix/php_interface/after_connect.php строки
<?
$DB->Query("SET NAMES 'cp1251'");
$DB->Query("SET LOCAL time_zone='".date('P')."'");
?>
Здесь VPS на BrainyCP за 2$ в месяц, а здесь 50GB шаред-хостинг на BrainyCP за 1.9$ в месяц
-
lexkosha
- Сообщения: 6
- Зарегистрирован: Сб июн 12, 2021 3:25 pm
Работа с сокетами Ошибка! Не работает Bitrix
Всем привет!
ребята подскажите как исправить ошибку «Работа с сокетами Ошибка! Не работает»
Делаю тест системы. Выдает ошибку, читал что нужно править файл хост, поправил как написано не помогло.
CentOS 7
Журнал проверки системы
2021-Jun-12 15:24:02 Наличие необходимых модулей php (check_php_modules): Ok
Все необходимые модули установлены
2021-Jun-12 15:24:02 Обязательные параметры PHP (check_php_settings): Ok
Настройки правильные
2021-Jun-12 15:24:02 Модули веб-сервера (check_security): Ok
Конфликтов не выявлено
2021-Jun-12 15:24:02 Значения переменных сервера (check_server_vars): Ok
Корректные
2021-Jun-12 15:24:03 Сохранение сессии (check_session): Ok
50% done
2021-Jun-12 15:24:03 Сохранение сессии (check_session): Ok
Успешно
2021-Jun-12 15:24:03 Параметры настройки UTF (mbstring и константа BX_UTF) (check_mbstring): Ok
Правильные. Сайт работает в UTF кодировке
2021-Jun-12 15:24:03 Служебные скрипты в корне сайта (check_install_scripts): Ok
Отсутствуют
2021-Jun-12 15:24:03 Работа с сокетами (check_socket): Fail
Connection to site.ru:80 Success
== Request ==
GET /bitrix/admin/site_checker.php?test_type=socket_test&unique_id=092382390232392832932 HTTP/1.1
Host: site.ru== Response ==
HTTP/1.1 404 Not Found
Server: nginx/1.20.1
Date: Sat, 12 Jun 2021 15:24:03 GMT
Content-Type: text/html; charset=iso-8859-1
Content-Length: 196
Connection: keep-alive== Body ==
<!DOCTYPE HTML PUBLIC «-//IETF//DTD HTML 2.0//EN»>
<html><head>
<title>404 Not Found</title>
</head><body>
<h1>Not Found</h1>
<p>The requested URL was not found on this server.</p>
</body></html>==========
Ошибка! Не работает
2021-Jun-12 15:24:03 Выполнение агентов на cron (check_bx_crontab): Warning
Замечание. Агенты выполняются на хитах, рекомендуется перевести выполнение агентов на cron
2021-Jun-12 15:24:03 Параметры подключения к базе данных (check_dbconn_settings): Ok
Успешно
2021-Jun-12 15:24:03 Лишний вывод в файлах конфигурации (check_dbconn): Warning
Замечание. Не удалось проверить из-за ошибки в работе с сокетами
2021-Jun-12 15:24:03 Сохранение сессии без UserAgent (check_session_ua): Warning
Замечание. Не удалось проверить из-за ошибки в работе с сокетами
2021-Jun-12 15:24:03 Настройки сайтов (check_sites): Ok
Правильные
2021-Jun-12 15:24:03 Передача объектов по ссылке (check_clone): Ok
Успешно
2021-Jun-12 15:24:03 Размер стека и pcre.recursion_limit (check_pcre_recursion): Warning
Замечание. Не удалось проверить из-за ошибки в работе с сокетами
2021-Jun-12 15:24:03 Загрузка файла (check_upload): Warning
Замечание. Не удалось проверить из-за ошибки в работе с сокетами
2021-Jun-12 15:24:03 Загрузка файла больше 4Мб (check_upload_big): Warning
Замечание. Не удалось проверить из-за ошибки в работе с сокетами
2021-Jun-12 15:24:03 Загрузка файла через php://input (check_upload_raw): Warning
Замечание. Не удалось проверить из-за ошибки в работе с сокетами
2021-Jun-12 15:24:03 Передача POST запроса с большим числом параметров (check_post): Warning
Замечание. Не удалось проверить из-за ошибки в работе с сокетами
2021-Jun-12 15:24:03 Отправка почты (check_mail): Ok
Успешно
2021-Jun-12 15:24:03 Отправка почтового сообщения больше 64Кб (check_mail_big): Ok
Успешно
2021-Jun-12 15:24:03 Проверка на наличие неотправленных сообщений (check_mail_b_event): Ok
Успешно
2021-Jun-12 15:24:03 Внутреннее перенаправление (функция LocalRedirect) (check_localredirect): Warning
Замечание. Не удалось проверить из-за ошибки в работе с сокетами
2021-Jun-12 15:24:03 Фактическое ограничение памяти (check_memory_limit): Warning
Замечание. Не удалось проверить из-за ошибки в работе с сокетами
2021-Jun-12 15:24:04 Работа с файлами кеша (check_cache): Ok
Успешно
2021-Jun-12 15:24:04 Доступ к серверу обновлений (check_update): Ok
Успешно
2021-Jun-12 15:24:04 HTTP авторизация (check_http_auth): Warning
Замечание. Не удалось проверить из-за ошибки в работе с сокетами
2021-Jun-12 15:24:04 Создание и запуск файла (check_exec): Warning
Замечание. Не удалось проверить из-за ошибки в работе с сокетами
2021-Jun-12 15:24:04 Функция getimagesize для swf (check_getimagesize): Ok
Успешно
2021-Jun-12 15:24:04 Версия MySQL-сервера (check_mysql_bug_version): Ok
Успешно
2021-Jun-12 15:24:05 Время на БД и веб-сервере (check_mysql_time): Fail
Ошибка! Время отличается на 10800 секунд
2021-Jun-12 15:24:05 Режим работы MySQL (check_mysql_mode): Ok
Успешно
2021-Jun-12 15:24:05 Кодировка соединения (check_mysql_connection_charset): Ok
character_set_connection=utf8, collation_connection=utf8_unicode_ci, character_set_results=utf8
Успешно
2021-Jun-12 15:24:05 Кодировка базы данных (check_mysql_db_charset): Ok
CHARSET=utf8, COLLATION=utf8_unicode_ci
Успешно
97% done
2021-Jun-12 15:24:22 Структура базы данных (check_mysql_table_structure): Ok
Успешно
-
sbury
- Сообщения: 1223
- Зарегистрирован: Вт фев 06, 2018 7:51 am
Re: Работа с сокетами Ошибка! Не работает Bitrix
Сообщение
sbury » Сб июн 12, 2021 9:39 pm
в файле /etc/hosts, первой строкой добавьте запись
127.0.0.1 _ваш_домен_
при помощи команды
hostname
проверьте какой он у вас вообще прописан в системе. bitrix требует запись полного доменного имени в системе
Второе, сертификат SSL должен быть выдан данному домену.
И третье, если в DNS есть запись ipv6 типа АААА, и она не подключена к домену, или есть не существующая, она должна быть удалена
Пока хоть одно из этих условий не выполнено , вы будете получать данную ошибку.
-
sbury
- Сообщения: 1223
- Зарегистрирован: Вт фев 06, 2018 7:51 am
Re: Работа с сокетами Ошибка! Не работает Bitrix
Сообщение
sbury » Вс июн 13, 2021 8:03 am
показывайте что прописано. А так же вывод hostname. Можете в личку
-
lexkosha
- Сообщения: 6
- Зарегистрирован: Сб июн 12, 2021 3:25 pm
Re: Работа с сокетами Ошибка! Не работает Bitrix
Сообщение
lexkosha » Вт авг 31, 2021 8:44 pm
Сегодня попробовал по новой все поднять. К сожалению решить проблему не удалось. Может кто то сталкивался и победил?
-
confignsk
- Сообщения: 14
- Зарегистрирован: Пн дек 21, 2020 1:38 am
Re: Работа с сокетами Ошибка! Не работает Bitrix
Сообщение
confignsk » Чт окт 14, 2021 8:19 am
Всем добрый день! Какие варианты еще решений можно использовать ?
Проблема решена — помогла техподдержка Битрикса.
Совет был тривиален:
——
тестировании на странице ( Настройки > Инструменты > Проверка системы ) обнаруживаются ошибки:
Обязательные параметры PHP Ошибка! Значение max_input_vars должно быть не ниже 10000. Текущее значение: 1000
Параметры настройки UTF (mbstring и константа BX_UTF) Ошибка! Сайт работает в UTF кодировке, настройки mbstring:
mbstring.func_overload=0
mbstring.internal_encoding=»»
default_charset=»utf-8″
требуется:
mbstring.func_overload=2
mbstring.internal_encoding=»»
default_charset=»utf-8″
Загрузка файла больше 4Мб Ошибка! Не работает
Время на БД и веб-сервере Ошибка! Время отличается на 10800 секунд
——————-
Далее попросил админа поправить ошибки и проблема пропала.
Так что спасибо Техподдержке Битрикс.
—
ПыСы. Оговорюсь, что аналогичный вопрос задавался и сна Клиентском форуме Битрикса. Ответов с реальными советами — ноль.
Когда требуется выполнить синхронизацию с внешним источником данных (например, с 1С), то 1С Битрикс может выдать следующую ошибку: «Время на сервере базы данных отличается от времени на веб-сервере больше, чем на 10 минут». Это означает, что необходимо проверить и настроить правильные временные зоны.
Разберем эту проблему детальнее. Можно выполнить простой фикс (грабли) в виде хука в файле /bitrix/php_interface/after_connect_d7.php
указать принудительно:
$connection->queryExecute("SET LOCAL time_zone='".date('P')."'");
Но мы рекомендуем разобраться детально в причинах проблемы, для этого подключитесь к серверу по SSH и проверьте командой ‘date’ время в операционной системе (здесь и далее мы работаем в CentOS 7.
В консоли мы сначала забекапим временные файлы:
[root@sx ~]# mv /etc/localtime /etc/localtime-backup
потом делаем линк на нужную нам часовую зону:
[root@sx ~]# ln -s /usr/share/zoneinfo/Europe/Moscow /etc/localtime
И далее проверяем командой ‘date’ корректность нового времени.
Вот как это выглядит в терминале:
[root@sx ~]# mv /etc/localtime /etc/localtime-backup [root@sx ~]# date Wed Apr 8 17:19:38 UTC 2020 [root@sx ~]# ln -s /usr/share/zoneinfo/Europe/Moscow /etc/localtime [root@sx ~]# date Wed Apr 8 20:19:46 MSK 2020
Далее подключаемся в MySQL / MariaDB и проверяем тайм-зону командой:
select current_timestamp;
В консоли это выглядит так:
[root@sx ~]# mysql Welcome to the MariaDB monitor. Commands end with ; or g. Your MariaDB connection id is 104506 Server version: 5.5.64-MariaDB MariaDB Server Copyright (c) 2000, 2018, Oracle, MariaDB Corporation Ab and others. Type 'help;' or 'h' for help. Type 'c' to clear the current input statement. MariaDB [(none)]> select current_timestamp; +---------------------+ | current_timestamp | +---------------------+ | 2020-04-08 20:24:41 | +---------------------+ 1 row in set (0.00 sec) MariaDB [(none)]>
Если в MySQL / MariaDB неверное время, то выполняем следующее по определению default_time_zone: идем в /etc/my.cnf (CentOS) или /etc/mysql/my.cnf (Ubuntu) и после:
[root@sx ~] sudo /etc/init.d/mysqld restart
Сложные случаи конфликта во времени в SysConfig
Иногда так происходит, что еще одна отсылка ко времени сервера есть в:
/etc/sysconfig/clock
Вы можете поменять тайм-зону через ‘tzselect’, а в SysConfig, например, может быть прописано: ZONE=America/New_York
Это решается достаточно просто:
[root@sx ~]# vim /etc/sysconfig/clock ZONE="Europe/Moscow" UTC=true ARC=false
Временные зоны в PHP
Сейчас переходим к PHP, здесь тоже может быть нюанс, поэтому смотрим: /etc/php.ini
(из него билдится уже /etc/php.d/bitrixenv.ini) в ini-файле корректируем или добавляем:
timezone = Europe/Moscow
После изменений в php.ini нужно рестартнуть Апач:
service httpd restart
Просмотров: 16493
Достаточно часто, при проверке параметров системы, в Битрикс, можно увидеть одну из ошибок: Время на БД и на сервере- Время отличается на 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
Мои видео на Boosty:
Ваш баннер вместо этой рекламы: 15 000 руб/мес. Размещается во всем блоге, форуме, видеоуроках и разделе с макетами.
Проблема решена — помогла техподдержка Битрикса.
Совет был тривиален:
——
тестировании на странице ( Настройки > Инструменты > Проверка системы ) обнаруживаются ошибки:
Обязательные параметры PHP Ошибка! Значение max_input_vars должно быть не ниже 10000. Текущее значение: 1000
Параметры настройки UTF (mbstring и константа BX_UTF) Ошибка! Сайт работает в UTF кодировке, настройки mbstring:
mbstring.func_overload=0
mbstring.internal_encoding=»»
default_charset=»utf-8″
требуется:
mbstring.func_overload=2
mbstring.internal_encoding=»»
default_charset=»utf-8″
Загрузка файла больше 4Мб Ошибка! Не работает
Время на БД и веб-сервере Ошибка! Время отличается на 10800 секунд
——————-
Далее попросил админа поправить ошибки и проблема пропала.
Так что спасибо Техподдержке Битрикс.
—
ПыСы. Оговорюсь, что аналогичный вопрос задавался и сна Клиентском форуме Битрикса. Ответов с реальными советами — ноль.
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
- Pick a username
- Email Address
- Password
By clicking “Sign up for GitHub”, you agree to our terms of service and
privacy statement. We’ll occasionally send you account related emails.
Already on GitHub?
Sign in
to your account
Ошибка при синхронизации Битрикс: время на сервере базы данных
Когда требуется выполнить синхронизацию с внешним источником данных (например, с 1С), то 1С Битрикс может выдать следующую ошибку: «Время на сервере базы данных отличается от времени на веб-сервере больше, чем на 10 минут». Это означает, что необходимо проверить и настроить правильные временные зоны.
Разберем эту проблему детальнее. Можно выполнить простой фикс (грабли) в виде хука в файле /bitrix/php_interface/after_connect_d7.php
указать принудительно:
$connection->queryExecute("SET LOCAL time_zone='".date('P')."'");
Но мы рекомендуем разобраться детально в причинах проблемы, для этого подключитесь к серверу по SSH и проверьте командой ‘date’ время в операционной системе (здесь и далее мы работаем в CentOS 7.
В консоли мы сначала забекапим временные файлы:
[root@sx ~]# mv /etc/localtime /etc/localtime-backup
потом делаем линк на нужную нам часовую зону:
[root@sx ~]# ln -s /usr/share/zoneinfo/Europe/Moscow /etc/localtime
И далее проверяем командой ‘date’ корректность нового времени.
Вот как это выглядит в терминале:
[root@sx ~]# mv /etc/localtime /etc/localtime-backup [root@sx ~]# date Wed Apr 8 17:19:38 UTC 2020 [root@sx ~]# ln -s /usr/share/zoneinfo/Europe/Moscow /etc/localtime [root@sx ~]# date Wed Apr 8 20:19:46 MSK 2020
Далее подключаемся в MySQL / MariaDB и проверяем тайм-зону командой:
select current_timestamp;
В консоли это выглядит так:
[root@sx ~]# mysql Welcome to the MariaDB monitor. Commands end with ; or g. Your MariaDB connection id is 104506 Server version: 5.5.64-MariaDB MariaDB Server Copyright (c) 2000, 2018, Oracle, MariaDB Corporation Ab and others. Type 'help;' or 'h' for help. Type 'c' to clear the current input statement. MariaDB [(none)]> select current_timestamp; +---------------------+ | current_timestamp | +---------------------+ | 2020-04-08 20:24:41 | +---------------------+ 1 row in set (0.00 sec) MariaDB [(none)]>
Если в MySQL / MariaDB неверное время, то выполняем следующее по определению default_time_zone: идем в /etc/my.cnf (CentOS) или /etc/mysql/my.cnf (Ubuntu) и после:
[root@sx ~] sudo /etc/init.d/mysqld restart
Сложные случаи конфликта во времени в SysConfig
Иногда так происходит, что еще одна отсылка ко времени сервера есть в:
/etc/sysconfig/clock
Вы можете поменять тайм-зону через ‘tzselect’, а в SysConfig, например, может быть прописано: ZONE=America/New_York
Это решается достаточно просто:
[root@sx ~]# vim /etc/sysconfig/clock ZONE="Europe/Moscow" UTC=true ARC=false
Временные зоны в PHP
Сейчас переходим к PHP, здесь тоже может быть нюанс, поэтому смотрим: /etc/php.ini
(из него билдится уже /etc/php.d/bitrixenv.ini) в ini-файле корректируем или добавляем:
timezone = Europe/Moscow
После изменений в php.ini нужно рестартнуть Апач:
service httpd restart
