Ошибка структура базы данных имеет ошибки bitrix

 

Добрый день! Обновил движок и возникла проблема

Ошибка! Структура базы данных имеет ошибки (нет таблиц: 0, нет полей: 0, поля отличаются: 1, нет индексов: 0). Всего 1, автоматически могут быть исправлены: 0.

Пробовал «Оптимизация БД» и «Проверка БД» ничего не помогает.
Кто знает как исправить. Спасибо.

 

Обратится в техническую поддержку, предоставив сразу доступ к сайту, ребята вам помогут, заодно посмотрят причину возникновения данной ситуации.

 

Всем добрый вечер! Столкнулись с проблемой: Структура базы данных Ошибка! Структура базы данных имеет ошибки (нет таблиц: 0, нет полей: 0, поля отличаются: 2, нет индексов: 0). Всего 2, автоматически могут быть исправлены: 0.
Может кто победил данную проблему, отпишитесь пожалуйста.

 

Пользователь 397329

Заглянувший

Сообщений: 3
Регистрация: 19.10.2015

#4

0

22.11.2015 01:33:59

Цитата
Ирина Боброва написал:
Всем добрый вечер! Столкнулись с проблемой: Структура базы данных Ошибка! Структура базы данных имеет ошибки (нет таблиц: 0, нет полей: 0, поля отличаются: 2, нет индексов: 0). Всего 2, автоматически могут быть исправлены: 0.
Может кто победил данную проблему, отпишитесь пожалуйста.

у вас картинки тоже перестали загружаться новые?

 

И у меня такая проблема. Подскажите в какую сторону копать

 
 

В этом файле уже как в исправленном варианте, проблема остается,как исправить?

 

Пользователь 497563

Постоянный посетитель

Сообщений: 196
Баллов: 16
Регистрация: 18.02.2016

#8

3

25.05.2016 10:30:51

В общем эта проблема решается выполнением SQL запроса к базе данных через интерфейс Битрикса

Код
ALT ER   TABLE `b_user_hit_auth` MODIFY `TIMESTAMP_X` datetime NULL DEFAULT NULL ;
 

Ошибка:

В таблице b_user_hit_auth поле TIMESTAMP_X «datetime NULL DEFAULT NULL  » не соответствует описанию на диске «timestamp NOT NULL DEFAULT CURRENT_TIMESTAMP on update CURRENT_TIMESTAMP»

ALT ER   TABLE `b_user_hit_auth` MODIFY `TIMESTAMP_X` timestamp NOT NULL DEFAULT CURRENT_TIMESTAMP on update CURRENT_TIMESTAMP;

Запрос:

ALT ER   TABLE `b_user_hit_auth` MODIFY `TIMESTAMP_X` datetime NULL DEFAULT NULL ;

при выполнении данного запроса:
Запрос завершен, изменено 0 записей. (0.010 s)

Скажите пожалуйста, кто сталкивался с данной ошибкой

 

Пользователь 363586

Заглянувший

Сообщений: 2
Регистрация: 25.07.2015

#10

0

06.09.2016 21:32:09

Цитата
SkyNetYar написал:
В общем эта проблема решается выполнением SQL запроса к базе данных через интерфейс Битрикса

Код
 ALT ER   TABLE `b_user_hit_auth` MODIFY `TIMESTAMP_X` datetime NULL DEFAULT NULL ;
 

Не помогло( при этом запрос выполняется успешно), что ещё можно сделать?

Цитата
2016-Sep-06 21:27:40 Структура базы данных (check_mysql_table_structure): Fail ALT ER   TABLE `b_user_hit_auth` MODIFY `TIMESTAMP_X` timestamp NOT NULL DEFAULT CURRENT_TIMESTAMP on update CURRENT_TIMESTAMP; Ошибка! Структура базы данных имеет ошибки (нет таблиц: 0, нет полей: 0, поля отличаются: 1, нет индексов: 0). Всего 1, автоматически могут быть исправлены: 0.

Как исправить ошибку «Ошибка! Структура базы данных имеет ошибки»

Почему появляется ошибка?

Данная ошибка появляется в случае, когда структура базы данных не совпадает со структурой, расположенной в установочных sql-файлах. Обычно это возникает при установке обновлений.

На что эта ошибка влияет?

В большинстве случаев ошибки структуры не влияют на работу сайта, т.к. содержат незначительные различия.

Но иногда проблемы бывают серьезные — например, из-за различий в кодировке и др.

Как исправить ошибку?

В большинстве случаев ошибка исправляется автоматически, при нажатии на ссылку «Исправить». При этом структура переносится из файлов в БД. К примеру, если в установочном sql-файле некоторое поле имеет тип longtext, а в БД оно имеет тип text, то в процесс автоматического исправления тип поля в БД станет longtext.

В редких случаях исправление ошибок автоматически невозможно, приходится исправлять вручную. В этом поможет лог — в нем указаны, какие конкретно несоответствия найдены, например:

В таблице b_adv_contract поле KEYWORDS «`KEYWORDS` longtext NULL DEFAULT NULL» не соответствует описанию на диске «`KEYWORDS` text NULL DEFAULT NULL»

Требуется наша помощь?

Мы имеем огромный опыт, на протяжении почти 15 лет помогая клиентам в решении самых различных проблем на их сайтах, в т.ч. самых сложных.

Поэтому, если Вы не имеете возможности решить эту проблему самостоятельно, обращайтесь к нам — мы поможем.

07.07.2018

1.Duplicate entry ‘H1vyYZlZDAeRMeZJ76uKHWozRqctgvK1’ for key ‘PRIMARY’
Нужно снести содержимое базы и заново попытаться восстанавливать сайт из резервной копии, также нужно посмотреть включено ли хранение сессий в отдельной базе данных в настройках расширенного режима безопасности группы администратор, отключить такую настройку.

2. Превышен лимит на размер базы данных
На виртуальном хостинге есть ограничения размеров базы данных. Если размер базы превысит лимит, вам начнут высылаться уведомления. При превышении максимального размера высылается предупреждение с последующей блокировкой до момента устранения проблемы. В этом случае нужно или повысить тариф, или смотреть содержимое базы. В моем случае таблицы b_event_log — много места занимала, b_event — очень много было, b_captcha — также много было. Нужно войти в Phpmyadmin и в базе очистить указанные таблицы.

3. Allowed memory size of
Откройте файл php.ini и найдите там строку: memory_limit = 256M, увеличьте значение (для тарифов виртуального хостинга есть ограничения)

4.  Cannot use BitrixMainTextString as String because ‘String’
нет обновлений битрикс для используемой версии РНР, обычно проблема возникает при восстановлении сайта на другом хостинге. Пробуйте начать с версии РНР 5.6

5. DB query error. Please try later
Обычно ошибка доступа к базе данных
1) Открой файл /bitrix/php_interface/dbconn.php и вставь в самый низ файла строку $DBDebug=true;

6. max_input_vars
В файле .htaccess  задайте php_value max_input_vars 10000, но не всегда помогает для изменения данной директивы необходимо отредактировать файл php.ini: max_input_vars = 10000

7. Maximum execution time of 60 seconds exceeded
Могут помочь такие варианты:
1) после внесения изменений в php.ini требуется рестарт apache.
2) если определена переменная set_time_limit в файле /bitrix/php_interface/dbconn.php то она имеет приоритет по сравнению с тем что хранится в php.ini в max_execution_time
3) ошибка может возникать из-за нехватки значения параметра memory_limit(также определяется в этих файлах)

8. MySQL server has gone away
В процессе выполнения запроса сервер оборвал соединение. Проблема связана с настройкой MySQL и часто возникает когда на сервере установлен небольшой лимит времени на соединение.
Установите в bitrix/php_interface/after_connect.php:
$DB->Query(«SET wait_timeout=28800»);

9. opcache.revalidate_freq для битрикс
Мне помогает связка в файле .htaccess, особенно на тарифе host-0 reg.ru, который не сильно подходит для битрикс тарифа:
php_value opcache.revalidate_freq 0
php_value max_input_vars 10000
php_value default_socket_timeout 60
Также помогает переход на РНР 7.0

10. Query Error SET LOCAL time_zone
на виртуалке битрикс
$DB->Query(«SET LOCAL time_zone=’».date(‘P’).»‘»);

11. Кодировка таблицы (cp1251) отличается от кодировки базы (utf8)
Для той таблицы на которую указывает ошибка потребуется выполнить ряд SQL запросов в базе данных:
ALTER TABLE имя_таблицы CONVERT TO CHARACTER SET utf8 COLLATE utf8_general_ciДля смены кодировки таблиц выполните, пожалуйста, запрос для каждой таблицы:
ALTER TABLE имя_таблицы CONVERT TO CHARACTER SET utf8 COLLATE utf8_general_ci;

12. Ошибка больших файлов импорта
Потребуется увеличить лимиты размера файлов в файле php.ini.

13. Ошибка! Структура базы данных имеет ошибки- поля отличаются
Смотрим название таблиц в логах
Перейдите, пожалуйста, в sql-строку (Настройки > Инструменты > SQL запрос) и там выполните запрос:
ALTER TABLE `b_ticket` MODIFY `TITLE` varchar(255) NOT NULL ;
ALTER TABLE `b_ticket` MODIFY `OWNER_SID` varchar(255) NULL DEFAULT NULL ;
ALTER TABLE `b_ticket` MODIFY `LAST_MESSAGE_SID` varchar(255) NULL DEFAULT NULL ;
ALTER TABLE `b_ticket` MODIFY `SUPPORT_COMMENTS` varchar(255) NULL DEFAULT NULL ;

После этого переустановите (удалить и снова установить) модуль поиска без сохранения
таблиц (Настройки-Настройки продукта-Модули).

Затем нужно выполнить полную переиндексацию. Для этого в административной части сайта перейдите,
пожалуйста, в «Настройки > Поиск > Переиндексация». Снимите галочку «Переиндексировать только измененные»,
установите шаг, например, 10 секунд и нажмите кнопку «Переиндексировать».

В админке вылезает  строка на зеленом фоне:
Обнаружены ошибки в работе сайта. Проверить и исправить.

После проверки получаем:
Структура базы данных Ошибка! Структура базы данных имеет ошибки. Всего 15, автоматически могут быть исправлены: 0.

Подробности в журнале проверки системы.:
Пятнадцать однотипных строк:
В таблице b_user_index_selector поле SEARCH_SELECTOR_CONTENT «`SEARCH_SELECTOR_CONTENT` mediumtext NULL DEFAULT NULL» не соответствует описанию на диске «`SEARCH_SELECTOR_CONTENT` text NULL DEFAULT NULL»
В таблице b_option_site поле VALUE «`VALUE` mediumtext NULL DEFAULT NULL» не соответствует описанию на диске «`VALUE` text NULL DEFAULT NULL»

внизу есть список (видимо, запросов к базе данных — для исправления этих ошибок)

ALT ER   TABLE `b_user_index_selector` CHANGE `SEARCH_SELECTOR_CONTENT` `SEARCH_SELECTOR_CONTENT` text NULL DEFAULT NULL;
ALT ER   TABLE `b_option_site` CHANGE `VALUE` `VALUE` text NULL DEFAULT NULL;

——
У нас сайт ещё на гарантии, обратились с этим вопросом к разработчикам сайта, получили ответ:
«…если эти итоги проверки системы не влияют на работу функционала сайта, то не считаю этот запрос гарантийным»
(типа, когда помрёте — тогда и приходите)

Сайт, действительно, пока работает.

Вопрос к общественности:
Что с этим делать?
Оставить как есть или добиваться чтобы ошибок не было?
Самостоятельно лезть в базу не хочется, боюсь что-нибудь поломать или с гарантии слететь.

07.07.2018

1.Duplicate entry ‘H1vyYZlZDAeRMeZJ76uKHWozRqctgvK1’ for key ‘PRIMARY’
Нужно снести содержимое базы и заново попытаться восстанавливать сайт из резервной копии, также нужно посмотреть включено ли хранение сессий в отдельной базе данных в настройках расширенного режима безопасности группы администратор, отключить такую настройку.

2. Превышен лимит на размер базы данных
На виртуальном хостинге есть ограничения размеров базы данных. Если размер базы превысит лимит, вам начнут высылаться уведомления. При превышении максимального размера высылается предупреждение с последующей блокировкой до момента устранения проблемы. В этом случае нужно или повысить тариф, или смотреть содержимое базы. В моем случае таблицы b_event_log — много места занимала, b_event — очень много было, b_captcha — также много было. Нужно войти в Phpmyadmin и в базе очистить указанные таблицы.

3. Allowed memory size of
Откройте файл php.ini и найдите там строку: memory_limit = 256M, увеличьте значение (для тарифов виртуального хостинга есть ограничения)

4.  Cannot use BitrixMainTextString as String because ‘String’
нет обновлений битрикс для используемой версии РНР, обычно проблема возникает при восстановлении сайта на другом хостинге. Пробуйте начать с версии РНР 5.6

5. DB query error. Please try later
Обычно ошибка доступа к базе данных
1) Открой файл /bitrix/php_interface/dbconn.php и вставь в самый низ файла строку $DBDebug=true;

6. max_input_vars
В файле .htaccess  задайте php_value max_input_vars 10000, но не всегда помогает для изменения данной директивы необходимо отредактировать файл php.ini: max_input_vars = 10000

7. Maximum execution time of 60 seconds exceeded
Могут помочь такие варианты:
1) после внесения изменений в php.ini требуется рестарт apache.
2) если определена переменная set_time_limit в файле /bitrix/php_interface/dbconn.php то она имеет приоритет по сравнению с тем что хранится в php.ini в max_execution_time
3) ошибка может возникать из-за нехватки значения параметра memory_limit(также определяется в этих файлах)

8. MySQL server has gone away
В процессе выполнения запроса сервер оборвал соединение. Проблема связана с настройкой MySQL и часто возникает когда на сервере установлен небольшой лимит времени на соединение.
Установите в bitrix/php_interface/after_connect.php:
$DB->Query(«SET wait_timeout=28800»);

9. opcache.revalidate_freq для битрикс
Мне помогает связка в файле .htaccess, особенно на тарифе host-0 reg.ru, который не сильно подходит для битрикс тарифа:
php_value opcache.revalidate_freq 0
php_value max_input_vars 10000
php_value default_socket_timeout 60
Также помогает переход на РНР 7.0

10. Query Error SET LOCAL time_zone
на виртуалке битрикс
$DB->Query(«SET LOCAL time_zone=’».date(‘P’).»‘»);

11. Кодировка таблицы (cp1251) отличается от кодировки базы (utf8)
Для той таблицы на которую указывает ошибка потребуется выполнить ряд SQL запросов в базе данных:
ALTER TABLE имя_таблицы CONVERT TO CHARACTER SET utf8 COLLATE utf8_general_ciДля смены кодировки таблиц выполните, пожалуйста, запрос для каждой таблицы:
ALTER TABLE имя_таблицы CONVERT TO CHARACTER SET utf8 COLLATE utf8_general_ci;

12. Ошибка больших файлов импорта
Потребуется увеличить лимиты размера файлов в файле php.ini.

13. Ошибка! Структура базы данных имеет ошибки- поля отличаются
Смотрим название таблиц в логах
Перейдите, пожалуйста, в sql-строку (Настройки > Инструменты > SQL запрос) и там выполните запрос:
ALTER TABLE `b_ticket` MODIFY `TITLE` varchar(255) NOT NULL ;
ALTER TABLE `b_ticket` MODIFY `OWNER_SID` varchar(255) NULL DEFAULT NULL ;
ALTER TABLE `b_ticket` MODIFY `LAST_MESSAGE_SID` varchar(255) NULL DEFAULT NULL ;
ALTER TABLE `b_ticket` MODIFY `SUPPORT_COMMENTS` varchar(255) NULL DEFAULT NULL ;

После этого переустановите (удалить и снова установить) модуль поиска без сохранения
таблиц (Настройки-Настройки продукта-Модули).

Затем нужно выполнить полную переиндексацию. Для этого в административной части сайта перейдите,
пожалуйста, в «Настройки > Поиск > Переиндексация». Снимите галочку «Переиндексировать только измененные»,
установите шаг, например, 10 секунд и нажмите кнопку «Переиндексировать».

Как исправить ошибку «Ошибка! Структура базы данных имеет ошибки»

Почему появляется ошибка?

Данная ошибка появляется в случае, когда структура базы данных не совпадает со структурой, расположенной в установочных sql-файлах. Обычно это возникает при установке обновлений.

На что эта ошибка влияет?

В большинстве случаев ошибки структуры не влияют на работу сайта, т.к. содержат незначительные различия.

Но иногда проблемы бывают серьезные — например, из-за различий в кодировке и др.

Как исправить ошибку?

В большинстве случаев ошибка исправляется автоматически, при нажатии на ссылку «Исправить». При этом структура переносится из файлов в БД. К примеру, если в установочном sql-файле некоторое поле имеет тип longtext, а в БД оно имеет тип text, то в процесс автоматического исправления тип поля в БД станет longtext.

В редких случаях исправление ошибок автоматически невозможно, приходится исправлять вручную. В этом поможет лог — в нем указаны, какие конкретно несоответствия найдены, например:

В таблице b_adv_contract поле KEYWORDS «`KEYWORDS` longtext NULL DEFAULT NULL» не соответствует описанию на диске «`KEYWORDS` text NULL DEFAULT NULL»

Требуется наша помощь?

Мы имеем огромный опыт, на протяжении 10 лет помогая клиентам в решении самых различных проблем на их сайтах.

Поэтому, если Вы не имеете возможности решить эту проблему самостоятельно, обращайтесь к нам — мы все сделаем оперативно и квалифицированно.

Ошибка структура базы данных имеет ошибки

После обновлений ошибка «структура базы данных имеет ошибки»

Добрый день! Обновил движок и возникла проблема

Ошибка! Структура базы данных имеет ошибки (нет таблиц: 0, нет полей: 0, поля отличаются: 1, нет индексов: 0). Всего 1, автоматически могут быть исправлены: 0.

Пробовал «Оптимизация БД» и «Проверка БД» ничего не помогает.
Кто знает как исправить. Спасибо.

Цитата
Ирина Боброва написал:
Всем добрый вечер! Столкнулись с проблемой: Структура базы данных Ошибка! Структура базы данных имеет ошибки (нет таблиц: 0, нет полей: 0, поля отличаются: 2, нет индексов: 0). Всего 2, автоматически могут быть исправлены: 0.
Может кто победил данную проблему, отпишитесь пожалуйста.

у вас картинки тоже перестали загружаться новые?

В общем эта проблема решается выполнением SQL запроса к базе данных через интерфейс Битрикса

Код

В таблице b_user_hit_auth поле TIMESTAMP_X «datetime NULL DEFAULT NULL » не соответствует описанию на диске «timestamp NOT NULL DEFAULT CURRENT_TIMESTAMP on update CURRENT_TIMESTAMP»

ALT ER TABLE `b_user_hit_auth` MODIFY `TIMESTAMP_X` timestamp NOT NULL DEFAULT CURRENT_TIMESTAMP on update CURRENT_TIMESTAMP;

ALT ER TABLE `b_user_hit_auth` MODIFY `TIMESTAMP_X` datetime NULL DEFAULT NULL ;

при выполнении данного запроса:
Запрос завершен, изменено 0 записей. (0.010 s)

Скажите пожалуйста, кто сталкивался с данной ошибкой

Цитата
SkyNetYar написал:
В общем эта проблема решается выполнением SQL запроса к базе данных через интерфейс Битрикса

Код

Не помогло( при этом запрос выполняется успешно), что ещё можно сделать?

Цитата
2016-Sep-06 21:27:40 Структура базы данных (check_mysql_table_structure): Fail ALT ER TABLE `b_user_hit_auth` MODIFY `TIMESTAMP_X` timestamp NOT NULL DEFAULT CURRENT_TIMESTAMP on update CURRENT_TIMESTAMP; Ошибка! Структура базы данных имеет ошибки (нет таблиц: 0, нет полей: 0, поля отличаются: 1, нет индексов: 0). Всего 1, автоматически могут быть исправлены: 0.

Выполните запрос к базе данных (Настройки > Инструменты > SQL запрос)

Цитата
ALT ER TABLE `b_user_hit_auth` MODIFY `TIMESTAMP_X` timestamp NOT NULL DEFAULT CURRENT_TIMESTAMP on update CURRENT_TIMESTAMP;
Цитата
SkyNetYar написал:
ALT ER TABLE `b_user_hit_auth` MODIFY `TIMESTAMP_X` timestamp NOT NULL DEFAULT CURRENT_TIMESTAMP on update CURRENT_TIMESTAMP;

Не проходит.
Ошибка во время выполнения запроса:
You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near ‘ALT ER TABLE `b_user_hit_auth` MODIFY `TIMESTAMP_X` timestamp NOT NULL DEFAULT C’ at line 1!

После отключения Автокомпозита прошел запрос и ошибка ушла.

Код

После обновления системы, при попытке полного тестирования системы проявляется ошибка
Структура базы данных — Ошибочный ответ сервера. Не удалось завершить тестирование.
В логах Журнала проверки системы следующее ()

В таблице b_user_hit_auth поле TIMESTAMP_X «datetime NULL DEFAULT NULL » не соответствует описанию на диске «datetime NOT NULL
Структура базы данных (check_mysql_table_structure): Ok
41% done
Структура базы данных (check_mysql_table_structure): Ok
45% done
на 45% проверка останавливается и дальше не идет.

По поводу b_user_hit_auth поле TIMESTAMP_X
я проверил, что
В файле /bitrix/modules/main/install/mysql/install.sql

строка выглядит так как нужно —
INDEX ix_module_to_module(FROM_MODULE_ID(20), MESSAGE_ID(20), TO_MODULE_ID(20), TO_CLASS(20), TO_METHOD(20))

Поддержка написала такое. Пожалуйста, обратитесь к администратору сервера или хостеру для выяснения причин и их устранения.

Пожалуйста, подскажите что можно предпринять?
Сразу отпишусь по результатам.

Ошибка SDBL 1С 8.3

Помощь персонального менеджера, оперативность сдачи отчетности, соответствие законодательству РФ

  • Исключение «простоев» работы сотрудников;
  • Устранение «плохих» блокировок;
  • Устранение таймаутов, диадоков, длительных запросов;
  • Управляемые блокировки.

Различные конфигурации 1С из-за сложности кода, бывает, огорчают администраторов и пользователей ошибками. Многие из них легко устраняются, но существуют и те, что способны испортить достаточно «крови» ИТ-службам. Одна из таких ошибок известна в кругах специалистов по 1С под именем «Ошибка SDBL».

Исправление ошибки SDBL в 1С

Обычно сообщение об ошибке SDBL мы видим при обновлении конфигурации, сохранении изменений или работе обменов данными. Чаще всего сопровождаться она следующими сообщениями:

  • Ошибка при полнотекстовом индексировании;
  • Попытка вставки значения недопустимого типа;
  • Поле таблицы не может принимать значение NULL;
  • Ожидается выражение (pos = );
  • Пропущена точка с запятой;
  • Выход за пределы размерности;
  • Поле определено неоднозначно.

Также эта ошибка может сопровождаться и другими информационными сообщениями. Чтобы решить эту проблему, администраторы 1С для начала применяют достаточно простые решения:

  1. Очистка КЭШа на сервере и компьютере пользователя, где появилась ошибка. Необходимо выйти из 1С, найти все папки с названиями типа «bd5c8ea4-b65f-4c23-a9c8-2dccfb0b15fa» в папке «Application Data» и удалить их;
  2. Перезагрузка сервера приложений 1С. Также может помочь включение и выключение всех связанных сервисов – SQL и его агента. Заходим на сервер, находим службу «Агент сервера 1С» и останавливаем ее с помощью контекстного меню. Аналогично поступаем со службами «SQL Server» и «Агент SQL Сервера» на сервере SQL. Затем включаем в обратной последовательности;
  3. Механизм «Тестирование и исправление ИБ», доступный в конфигураторе. В нужной информационной базе заходим в «Администрирование» — «Тестирование и исправление. » и запускаем процесс;
  4. Выгрузка базы данных в файл формата DT и загрузка его обратно в ту же информационную базу. Также выполняется в режиме конфигуратора через меню «Администрирование». Используются команды «Выгрузить информационную базу. » и «Загрузить информационную базу. »;
  5. Загрузка из резервной копии, если она сделана недавно. Резервные копии необходимо делать регулярно и дополнительно перед каждым серьезным действием с информационной базой. Резервные копии можно делать с помощью SQL MS или конфигуратора через выгрузку файла формата dt;
  6. Обновление платформы до более новой версии с официального портала ИТС. Необходимо скачать с сайта ИТС последний релиз платформы и установить на сервере и клиентских компьютерах.

Если все эти методы не дали результата, то для клиент-серверного варианта базы 1С можно попробовать очистить таблицы _ConfigChngR_ExtProps и _ConfigChngR. Делать это доверьте профессионалу, умеющему работать с MSSQL. В подавляющем большинстве случаев один из этих методов обязательно поможет. Если же ошибка осталась, и у вас нет резервной копии, следует обратиться к профессионалам за помощью.

Восстановление структуры DBSchema

Ситуация

Маленькая файловая база Бух3, учёт ведется 4 года, во время очередного обновления вылетает конфигуратор, при повторной попытке обновления имеем сообщение о невозможности применить изменения конфигурации.

Стандартный алгоритм действий:

  1. Долго себя ругаем за лень при создании архива перед обновлением;
  2. Откатываем конфигурацию на версию БД. При попытке запустить базу – ошибка, что таблица такая-то не найдена и вылет;
  3. Конфигуратор – тестирование и исправление, опять ошибка, что таблица такая-то отсутствует и невозможность ремонта;
  4. Попытка залить предыдущую типовую конфигурацию – опять критическая ошибка SDBL ;
  5. Последняя попытка – выгрузка базы в DT , проходит частично и вылетает. При загрузке DT – получаем базу с 90% пустых таблиц и сохранившейся ошибкой при тестировании и исправлении.
  6. С удивлением узнаем, что у админа нет архивных копий от слова совсем;
  7. Осознание того, что проблема серьезная и требуется помощь. Отправка запроса в 1С и замечательный ответ о том, что ваша база разрушена, поэтому восстановите базу из архивной копии и будет вам хорошо.
  8. Гуглим, находим “ Tool 1 CD ”, с горечью осознаём, что с версией 8.3.8 он работает только на чтение. Вывод – что-то чинить можно в режиме SQL .
  9. Загружаем базу из ранее выгруженного DT . Получаем те же проблемы, но на этот раз можно использовать Profiler и, например, создать недостающие таблицы, поля.
  10. Некоторое время закрываем проблемы по отсутствующим полям на SQL , пока не получаем вот такое сообщение

    При условии работающей базы, мы вполне можем узнать что это за регистр, но работающей базы у нас нет, от слова совсем.
  11. Опять гуглим на предмет: «А что такое схема базы данных», и вот тут информация крайне скудная. Официальная трактовка от 1С:
  12. Открываем эту табличку в SQL , это бинарные данные. Выгружаем их в файлик, открываем его Notepad ++ и видим набор массивов с описанием полей базы:

    Попытка найти информацию о том, что же это всё такое – результат нулевой. Ок, значит разбираться придётся самому. Перечитывание нескольких статей на инфостарте даёт понимание необходимости просмотра также данных сопоставление объектов конфигурации в файлике DBNames и самой конфигурации 1С.
  13. Проблема, как найти идентификаторы объектов конфигурации 1С, решилась выгрузкой конфигурации в XML . Предварительно файл cf был выгружен с помощью Tool 1 CD и загружен в чистую базу на SQL .
  14. Далее путем поиска таблицы в DBNames получаем её идентификатор, и ищем по нему в каталоге с выгруженной конфигурацией XML . Находим, удаляем объект в конфигураторе, снова попытка сохранения – другая ошибка, на другую таблицу… в общем повторяем итерацию в надежде вылечить базу до тех пор, пока не получаем вот такую ошибку:
  15. И это серьезная засада, потому как непонятно что ещё можно удалить из конфигуратора. Можно конечно запустить Profiler и найти на какую таблицу он ругается. Но в конце концов это всё закончилось такой ошибкой на поле Fld 793 (ОбластьДанныхОсновныеДанные), и по профайлеру всё останавливается после проверки таблицы журналов и всё, вылетает.
  16. В итоге приходим к выводу, что «скотчем и соплями» проблему не решить, и придётся подходить к вопросу системно.

Инструментарий

  1. Загрузка/выгрузка данных из DBSchema и DBNames (используя алгоритм Deflate);
  2. Загрузка схемы объекта из чистой эталонной базы, автозамена реквизитов объекта на наши. Добавление/замена схем объектов в DBSchema ;
  3. Проверка и автоматическое(не все) создание недостающих схем объектов, проверка реквизитов в таблице DBNames ;
  4. Реструктуризация таблиц SQL , добавление/замена полей(не все);
  5. Загрузка в таблицы SQL , выгруженные из файловой базы с помощью Tool 1CD

upd. 2019.07.13 — Добавлена интеграция с обработкой //infostart.ru/public/275315/. Подключаемся к «убитой» базе, читаем список таблиц и загружаем напрямую нужные таблицы в SQL

Причины купить

Экономия собственного времени на решение подобной задачи

Достоинства

Обработка предназначена ТОЛЬКО для программистов 1С. Написана под конкретные проблемы конкретной базы. Автоматически восстанавливаются схемы Справочников, Документов, Журналов документов, Регистров сведений, Регистров накопления, Констант, Перечислений, Регламентных заданий. остальные объекты править ручками, либо писать код по аналогии с моим.

Типовые битрикс ошибки

1.Duplicate entry ‘H1vyYZlZDAeRMeZJ76uKHWozRqctgvK1’ for key ‘PRIMARY’
Нужно снести содержимое базы и заново попытаться восстанавливать сайт из резервной копии, также нужно посмотреть включено ли хранение сессий в отдельной базе данных в настройках расширенного режима безопасности группы администратор, отключить такую настройку.

2. Превышен лимит на размер базы данных
На виртуальном хостинге есть ограничения размеров базы данных. Если размер базы превысит лимит, вам начнут высылаться уведомления. При превышении максимального размера высылается предупреждение с последующей блокировкой до момента устранения проблемы. В этом случае нужно или повысить тариф, или смотреть содержимое базы. В моем случае таблицы b_event_log — много места занимала, b_event — очень много было, b_captcha — также много было. Нужно войти в Phpmyadmin и в базе очистить указанные таблицы.

3. Allowed memory size of
Откройте файл php.ini и найдите там строку: memory_limit = 256M, увеличьте значение (для тарифов виртуального хостинга есть ограничения)

4. Cannot use BitrixMainTextString as String because ‘String’
нет обновлений битрикс для используемой версии РНР, обычно проблема возникает при восстановлении сайта на другом хостинге. Пробуйте начать с версии РНР 5.6

5. DB query error. Please try later
Обычно ошибка доступа к базе данных
1) Открой файл /bitrix/php_interface/dbconn.php и вставь в самый низ файла строку $DBDebug=true;

6. max_input_vars
В файле .htaccess задайте php_value max_input_vars 10000, но не всегда помогает для изменения данной директивы необходимо отредактировать файл php.ini: max_input_vars = 10000

7. Maximum execution time of 60 seconds exceeded
Могут помочь такие варианты:
1) после внесения изменений в php.ini требуется рестарт apache.
2) если определена переменная set_time_limit в файле /bitrix/php_interface/dbconn.php то она имеет приоритет по сравнению с тем что хранится в php.ini в max_execution_time
3) ошибка может возникать из-за нехватки значения параметра memory_limit(также определяется в этих файлах)

8. MySQL server has gone away
В процессе выполнения запроса сервер оборвал соединение. Проблема связана с настройкой MySQL и часто возникает когда на сервере установлен небольшой лимит времени на соединение.
Установите в bitrix/php_interface/after_connect.php:
$DB->Query(«SET wait_timeout=28800»);

9. opcache.revalidate_freq для битрикс
Мне помогает связка в файле .htaccess, особенно на тарифе host-0 reg.ru, который не сильно подходит для битрикс тарифа:
php_value opcache.revalidate_freq 0
php_value max_input_vars 10000
php_value default_socket_timeout 60
Также помогает переход на РНР 7.0

10. Query Error SET LOCAL time_zone
на виртуалке битрикс
$DB->Query(«SET LOCAL time_zone=’».date(‘P’).»‘»);

11. Кодировка таблицы (cp1251) отличается от кодировки базы (utf8)
Для той таблицы на которую указывает ошибка потребуется выполнить ряд SQL запросов в базе данных:
ALTER TABLE имя_таблицы CONVERT TO CHARACTER SET utf8 COLLATE utf8_general_ciДля смены кодировки таблиц выполните, пожалуйста, запрос для каждой таблицы:
ALTER TABLE имя_таблицы CONVERT TO CHARACTER SET utf8 COLLATE utf8_general_ci;

12. Ошибка больших файлов импорта
Потребуется увеличить лимиты размера файлов в файле php.ini.

13. Ошибка! Структура базы данных имеет ошибки- поля отличаются
Смотрим название таблиц в логах
Перейдите, пожалуйста, в sql-строку (Настройки > Инструменты > SQL запрос) и там выполните запрос:
ALTER TABLE `b_ticket` MODIFY `TITLE` varchar(255) NOT NULL ;
ALTER TABLE `b_ticket` MODIFY `OWNER_SID` varchar(255) NULL DEFAULT NULL ;
ALTER TABLE `b_ticket` MODIFY `LAST_MESSAGE_SID` varchar(255) NULL DEFAULT NULL ;
ALTER TABLE `b_ticket` MODIFY `SUPPORT_COMMENTS` varchar(255) NULL DEFAULT NULL ;

После этого переустановите (удалить и снова установить) модуль поиска без сохранения
таблиц (Настройки-Настройки продукта-Модули).

Затем нужно выполнить полную переиндексацию. Для этого в административной части сайта перейдите,
пожалуйста, в «Настройки > Поиск > Переиндексация». Снимите галочку «Переиндексировать только измененные»,
установите шаг, например, 10 секунд и нажмите кнопку «Переиндексировать».

Ещё статьи:

31.03.2020 Где искать редирект в Битриксе?
Как найти причину редиректа средствами битрикс. При попытке добавить сайт, его редиректом перекидывает на основной сайт.
ID: 223

31.03.2020 Зависает установка сайта Битрикс при многосайтовости
При установке сайта при многосайтовости зависает на 0%, и ничего не происходит, ошибок не выдаёт. Причина оказалась довольно простая. ID: 222

07.03.2020 Мифы про дорогих Битрикс программистов
Есть навязываемый миф о дорогих Битрикс программистах. На самом деле цена на услуги специалиста напрямую зависит от уровня его навыков в не зависимости. ID: 220

Новые статьи в блоге:

25.02.2020 Ошибка агента eval()’d. Как отключить агенты если сайт не работает?
Словил как-то ошибку связанную с отработкой агента. сайт полностью перестал работать и админка тоже. Возник вопрос как отключить агенты в таком случае. ID: 218

17.01.2020 Когда битрикс г*вно, а SEO специалист «Бог»
Я теперь понял откуда ноги растут про кривой битрикс. Всё дело в кривых специалистах. Вот один характерный случай. ID: 216

Способы исправления ошибок, выявленных при полном тестировании системы в 1С-Битрикс

Модули веб-сервера

Ошибка: Загружен модуль mod_dav/mod_dav_fs, WebDav не будет работать
Решение: Удалите файл /etc/httpd/conf.modules.d/00-dav.conf

Размер стека и pcre.recursion_limit

Ошибка: Замечание. Возможны проблемы в работе с длинными строками из-за системных ограничений
Решение: Как правило, для корректной работы 1С-Битрикс требуется снижение значения pcre.recursion_limit до 1000. Для этого нужно прописать правило в файле php.ini или в .htaccess, если у вас виртуальный хостинг и нет доступа к настройкам сервера.

VDS хостинг

  1. В файле /etc/php.d/bitrixenv.ini изменим параметр:
    pcre.recursion_limit=100000
  2. В скрипте запуска сервера HTTP Apache /etc/rc.d/init.d/httpd изменим функцию start(), добавив в нее одну строку ulimit -s unlimited
  3. В итоге должно получиться примерно следующее:
    start() {
      echo -n $"Starting $prog: "
      ulimit -s unlimited
      LANG=$HTTPD_LANG daemon --pidfile=${pidfile} $httpd $OPTIONS
      RETVAL=$?
      echo
      [ $RETVAL = 0 ] && touch ${lockfile}
      return $RETVAL
    }

Виртуальный хостинг

Для виртуального хостинга в файле .htaccess

php_value pcre.recursion_limit 100000

Режим работы MySQL

Ошибка: innodb_strict_mode=ON, требуется OFF
Решение: После обновления 1C-Битрикс, а конкретно модуля main 19.0.400 добавилась новая проверка. Исправление выйдет в следующих версиях BitrixVM. А сейчас можно исправить так:

Вариант 1

  1. Подключиться к серверу под root
  2. Открыть один из файлов (у всех могут быть разные, варианты)
    • /etc/my.cnf
    • /etc/alternatives/my.cnf
    • /etc/bitrix-my.cnf
  3. Добавить строку в блоке # InnoDB parameters
    innodb_strict_mode = OFF

Вариант 2

  1. В файл after_connect.php добавить:
    $DB->Query("SET innodb_strict_mode='OFF'");
  2.  В файл after_connect_d7.php добавить:
    $connection->queryExecute("SET innodb_strict_mode='OFF'");

Структура базы данных

Ошибка: В таблице b_search_content_stem поле STEM «varchar(50) NOT NULL» не соответствует описанию на диске «int(11) NOT NULL»
Решение: Удалить модуль поиска вместе с таблицами и Заново установить модуль поиска и переиндексировать сайт.

Ошибка: В таблице b_search_content_freq поле STEM «varchar(50) NOT NULL DEFAULT «» » не соответствует описанию на диске «int(11) NOT NULL DEFAULT «0» «
Решение: Удалить модуль поиска вместе с таблицами и Заново установить модуль поиска и переиндексировать сайт.

Ошибка: Структура базы данных: Ошибочный ответ сервера. Не удалось завершить тестирование.
Решение: В файле /bitrix/modules/main/install/mysql/install.sql найти строку:

INDEX ix_module_to_module(FROM_MODULE_ID, MESSAGE_ID, TO_MODULE_ID, TO_CLASS, TO_METHOD)

и заменить на:

INDEX ix_module_to_module(FROM_MODULE_ID(20), MESSAGE_ID(20), TO_MODULE_ID(20), TO_CLASS(20), TO_METHOD(20))

Ошибка: В таблице b_user_hit_auth поле TIMESTAMP_X «datetime NULL DEFAULT NULL » не соответствует описанию на диске «timestamp NOT NULL DEFAULT CURRENT_TIMESTAMP on update CURRENT_TIMESTAMP»
Решение: Выполнить запрос в Настройки → Инструменты → SQL запрос:

ALTER TABLE `b_user_hit_auth` MODIFY `TIMESTAMP_X` timestamp NOT NULL DEFAULT CURRENT_TIMESTAMP on update CURRENT_TIMESTAMP;

При переносе сайта на Битрикс с VPS на другую сервис у ряда людей могут возникнуть проблемы при мониторинге системы. Баг «Ошибочный ответ сервера. Не удалось завершить тестирование» может возникнуть при мониторинге в «Структура базы данных». Эта ошибка выскакивает и при переносе на другие сервера, при обновлениях системы. Она появилась именно после обновления ядра системы 1С˗Битрикс до версии 15.5.9. При работе на локальной машине либо через режим «Инкогнито» в GoogleChrome эта проблема не возникает. Служба технической поддержки системы 1С˗Битрикс предлагает простой вариант избавления от бага. Если вы сталкиваетесь с таким видом ошибки, то вероятнее всего вам поможет это решение.

Решение проблемы
Для избавления от бага нужно открыть файл install.sql в каталогу mysql, который находится в /bitrix/modules/main/install/ и заменить там одну строку. Существующий вариант:
INDEX ix_module_to_module(FROM_MODULE_ID, MESSAGE_ID, TO_MODULE_ID, TO_CLASS, TO_METHOD) 

Рабочий вариант:
INDEX ix_module_to_module(FROM_MODULE_ID(20), MESSAGE_ID(20), TO_MODULE_ID(20), TO_CLASS(20), TO_METHOD(20))

Этот вариант кода помогает решить проблему с переносом сайта. Если при установке первоначальной версии у вас не возникало таких проблем, но при последующей инсталляции обновлений ошибка появилась, то и в этом случае попробуйте заменить строку в sql˗файле. Если причина бага системы только в этом, то, как правило, все должно работать и проверка системы завершится успешно.

Ошибочный ответ сервера. Не удалось завершить тестирование

Задать вопрос

Наши специалисты ответят на любой интересующий вопрос по услуге

Хостинг «Таймвеб», редакция Битрикс Старт.

При полном тестировании системы (Настройки → Инструменты → Проверка системы), на этапе Тестирование базы данных — получаем ошибку Структура базы данных: Ошибочный ответ сервера. Не удалось завершить тестирование.

Ошибка появилась после обновления ядра до версии main (15.5.9) — Исправлен ряд интерфейсных ошибок. 

Решение проблемы подсказали в поддержке Битрикса:

В файле /bitrix/modules/main/install/mysql/install.sql найти строку:

INDEX ix_module_to_module(FROM_MODULE_ID, MESSAGE_ID, TO_MODULE_ID, TO_CLASS, TO_METHOD)

и заменить на:

INDEX ix_module_to_module(FROM_MODULE_ID(20), MESSAGE_ID(20), TO_MODULE_ID(20), TO_CLASS(20), TO_METHOD(20))

Заказать услугу

Оформите заявку на сайте, мы свяжемся с вами в ближайшее время и ответим на все интересующие вопросы.

Способы исправления ошибок, выявленных при полном тестировании системы в 1С-Битрикс

Модули веб-сервера

Ошибка: Загружен модуль mod_dav/mod_dav_fs, WebDav не будет работать
Решение: Удалите файл /etc/httpd/conf.modules.d/00-dav.conf

Размер стека и pcre.recursion_limit

Ошибка: Замечание. Возможны проблемы в работе с длинными строками из-за системных ограничений
Решение: Как правило, для корректной работы 1С-Битрикс требуется снижение значения pcre.recursion_limit до 1000. Для этого нужно прописать правило в файле php.ini или в .htaccess, если у вас виртуальный хостинг и нет доступа к настройкам сервера.

VDS хостинг

  1. В файле /etc/php.d/bitrixenv.ini изменим параметр:
    pcre.recursion_limit=100000
  2. В скрипте запуска сервера HTTP Apache /etc/rc.d/init.d/httpd изменим функцию start(), добавив в нее одну строку ulimit -s unlimited
  3. В итоге должно получиться примерно следующее:
    start() {
      echo -n $"Starting $prog: "
      ulimit -s unlimited
      LANG=$HTTPD_LANG daemon --pidfile=${pidfile} $httpd $OPTIONS
      RETVAL=$?
      echo
      [ $RETVAL = 0 ] && touch ${lockfile}
      return $RETVAL
    }

Виртуальный хостинг

Для виртуального хостинга в файле .htaccess

php_value pcre.recursion_limit 100000

Режим работы MySQL

Ошибка: innodb_strict_mode=ON, требуется OFF
Решение: После обновления 1C-Битрикс, а конкретно модуля main 19.0.400 добавилась новая проверка. Исправление выйдет в следующих версиях BitrixVM. А сейчас можно исправить так:

Вариант 1

  1. Подключиться к серверу под root
  2. Открыть один из файлов (у всех могут быть разные, варианты)
  • /etc/my.cnf
  • /etc/alternatives/my.cnf
  • /etc/bitrix-my.cnf
  • Добавить строку в блоке # InnoDB parameters
    innodb_strict_mode = OFF
  • Вариант 2

    1. В файл after_connect.php добавить:
      $DB->Query("SET innodb_strict_mode='OFF'");
    2.  В файл after_connect_d7.php добавить:
      $connection->queryExecute("SET innodb_strict_mode='OFF'");

    Структура базы данных

    Ошибка: В таблице b_search_content_stem поле STEM «varchar(50) NOT NULL» не соответствует описанию на диске «int(11) NOT NULL»
    Решение: Удалить модуль поиска вместе с таблицами и Заново установить модуль поиска и переиндексировать сайт.

    Ошибка: В таблице b_search_content_freq поле STEM «varchar(50) NOT NULL DEFAULT «» » не соответствует описанию на диске «int(11) NOT NULL DEFAULT «0» «
    Решение: Удалить модуль поиска вместе с таблицами и Заново установить модуль поиска и переиндексировать сайт.

    Ошибка: Структура базы данных: Ошибочный ответ сервера. Не удалось завершить тестирование.
    Решение: В файле /bitrix/modules/main/install/mysql/install.sql найти строку:

    INDEX ix_module_to_module(FROM_MODULE_ID, MESSAGE_ID, TO_MODULE_ID, TO_CLASS, TO_METHOD)

    и заменить на:

    INDEX ix_module_to_module(FROM_MODULE_ID(20), MESSAGE_ID(20), TO_MODULE_ID(20), TO_CLASS(20), TO_METHOD(20))

    Ошибка: В таблице b_user_hit_auth поле TIMESTAMP_X «datetime NULL DEFAULT NULL » не соответствует описанию на диске «timestamp NOT NULL DEFAULT CURRENT_TIMESTAMP on update CURRENT_TIMESTAMP»
    Решение: Выполнить запрос в Настройки → Инструменты → SQL запрос:

    ALTER TABLE `b_user_hit_auth` MODIFY `TIMESTAMP_X` timestamp NOT NULL DEFAULT CURRENT_TIMESTAMP on update CURRENT_TIMESTAMP;

    Проблема 

    Проверка системы падает с ошибкой: 

    Передача объектов по ссылке    Успешно
    Передача объектов по ссылке    Ошибочный ответ сервера. Не удалось завершить тестирование

    Конфигурация:

    • 1С-Битрикс: Управление сайтом 15.5.10
    • Windows7 64
    • XAMPP
    • PHP Version 5.6.15
    • pcre.recursion_limit    100000

    Причина

    Не найдена и особо не искалась

    Решение

    Отключаем эту проверку

    Файл: bitrixmodulesmainclassesgeneralsite_checker.php 

    Функция: check_pcre_recursion()

    Делаем чтобы всегда возвращала true:

    function check_pcre_recursion()
    	{
    		return true;
    
    		$strRequest = "GET "."/bitrix/admin/site_checker.php?test_type=pcre_recursion_test&unique_id=".checker_get_unique_id()." HTTP/1.1rn";
    		$strRequest.= "Host: ".$this->host."rn";
    		$strRequest.= "rn";
    
    		if ($res = $this->ConnectToHost())
    		{
    			if ('SUCCESS' == $strRes = GetHttpResponse($res, $strRequest, $strHeaders))
    				return true;
    			if ($strRes == 'CLEAN')
    				return $this->Result(null, GetMessage('SC_PCRE_CLEAN'));
    		}
    		return false;
    	}

    Решение было найдено тут: http://max22.ru/pitfalls/site-checker/

    Потом утеряно

    Потом найдено у себя в коде

    Написан пост

    И снова найдено на: http://max22.ru/pitfalls/site-checker/

    ¯_(ツ)_/¯

    Список ошибок при тестировании системы и конфигурации Битрикса

    Отправка почты Ошибка! Не работает

    Отправка почтового сообщения больше 64Кб Ошибка! Не работает

    Фактическое ограничение памяти Ошибочный ответ сервера. Не удалось завершить тестирование

    Отправка почтовых уведомлений Функция работает неправильно, требуется устранить ошибки

    Интеграция с почтой внутри компании Функция работает частично неправильно, желательно устранить ошибки

    Интеграция с соцсетями Функция работает частично неправильно, желательно устранить ошибки

    Публикация сообщений в живую ленту из почты Функция работает частично неправильно, желательно устранить ошибки

    Интеграция с Windows окружением Ошибок не выявлено, но есть замечания

    Интеграция с внешними приложениями (MS Office, Outlook, Exchange) через безопасное подключение к порталу Функция работает частично неправильно, желательно устранить ошибки

    Интеграция с Active Directory Функция работает частично неправильно, желательно устранить ошибки

    Единая авторизация в Windows сети (NTLM) Функция работает частично неправильно, желательно устранить ошибки

    Способы исправления ошибок, выявленных при полном тестировании системы в 1С-Битрикс

    Модули веб-сервера

    Ошибка: Загружен модуль mod_dav/mod_dav_fs, WebDav не будет работать
    Решение: Удалите файл /etc/httpd/conf.modules.d/00-dav.conf

    Размер стека и pcre.recursion_limit

    Ошибка: Замечание. Возможны проблемы в работе с длинными строками из-за системных ограничений
    Решение: Как правило, для корректной работы 1С-Битрикс требуется снижение значения pcre.recursion_limit до 1000. Для этого нужно прописать правило в файле php.ini или в .htaccess, если у вас виртуальный хостинг и нет доступа к настройкам сервера.

    VDS хостинг

    1. В файле /etc/php.d/bitrixenv.ini изменим параметр:
      pcre.recursion_limit=100000
    2. В скрипте запуска сервера HTTP Apache /etc/rc.d/init.d/httpd изменим функцию start(), добавив в нее одну строку ulimit -s unlimited
    3. В итоге должно получиться примерно следующее:
      start() {
        echo -n $"Starting $prog: "
        ulimit -s unlimited
        LANG=$HTTPD_LANG daemon --pidfile=${pidfile} $httpd $OPTIONS
        RETVAL=$?
        echo
        [ $RETVAL = 0 ] && touch ${lockfile}
        return $RETVAL
      }

    Виртуальный хостинг

    Для виртуального хостинга в файле .htaccess

    php_value pcre.recursion_limit 100000

    Режим работы MySQL

    Ошибка: innodb_strict_mode=ON, требуется OFF
    Решение: После обновления 1C-Битрикс, а конкретно модуля main 19.0.400 добавилась новая проверка. Исправление выйдет в следующих версиях BitrixVM. А сейчас можно исправить так:

    Вариант 1

    1. Подключиться к серверу под root
    2. Открыть один из файлов (у всех могут быть разные, варианты)
      • /etc/my.cnf
      • /etc/alternatives/my.cnf
      • /etc/bitrix-my.cnf
    3. Добавить строку в блоке # InnoDB parameters
      innodb_strict_mode = OFF

    Вариант 2

    1. В файл after_connect.php добавить:
      $DB->Query("SET innodb_strict_mode='OFF'");
    2.  В файл after_connect_d7.php добавить:
      $connection->queryExecute("SET innodb_strict_mode='OFF'");

    Структура базы данных

    Ошибка: В таблице b_search_content_stem поле STEM «varchar(50) NOT NULL» не соответствует описанию на диске «int(11) NOT NULL»
    Решение: Удалить модуль поиска вместе с таблицами и Заново установить модуль поиска и переиндексировать сайт.

    Ошибка: В таблице b_search_content_freq поле STEM «varchar(50) NOT NULL DEFAULT «» » не соответствует описанию на диске «int(11) NOT NULL DEFAULT «0» «
    Решение: Удалить модуль поиска вместе с таблицами и Заново установить модуль поиска и переиндексировать сайт.

    Ошибка: Структура базы данных: Ошибочный ответ сервера. Не удалось завершить тестирование.
    Решение: В файле /bitrix/modules/main/install/mysql/install.sql найти строку:

    INDEX ix_module_to_module(FROM_MODULE_ID, MESSAGE_ID, TO_MODULE_ID, TO_CLASS, TO_METHOD)

    и заменить на:

    INDEX ix_module_to_module(FROM_MODULE_ID(20), MESSAGE_ID(20), TO_MODULE_ID(20), TO_CLASS(20), TO_METHOD(20))

    Ошибка: В таблице b_user_hit_auth поле TIMESTAMP_X «datetime NULL DEFAULT NULL » не соответствует описанию на диске «timestamp NOT NULL DEFAULT CURRENT_TIMESTAMP on update CURRENT_TIMESTAMP»
    Решение: Выполнить запрос в Настройки → Инструменты → SQL запрос:

    ALTER TABLE `b_user_hit_auth` MODIFY `TIMESTAMP_X` timestamp NOT NULL DEFAULT CURRENT_TIMESTAMP on update CURRENT_TIMESTAMP;

    Понравилась статья? Поделить с друзьями:
  • Ошибка структуры ссылок
  • Ошибка субару форестер р0028
  • Ошибка субару p0223
  • Ошибка субару p2090
  • Ошибка стояночного тормоза рендж ровер спорт