Ошибки при проверке системы в 1С-Битрикс

Способы исправления ошибок, выявленных при полном тестировании системы в 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;
Похожие решения:
Создано: 24.11.2019
Просмотров: 269

Комментарии

Написать