Способы исправления ошибок, выявленных при полном тестировании системы в 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 хостинг
- В файле /etc/php.d/bitrixenv.ini изменим параметр:
pcre.recursion_limit=100000
- В скрипте запуска сервера HTTP Apache /etc/rc.d/init.d/httpd изменим функцию start(), добавив в нее одну строку ulimit -s unlimited
- В итоге должно получиться примерно следующее:
start() { echo -n $"Starting $prog: " ulimit -s unlimited LANG=$HTTPD_LANG daemon --pidfile=${pidfile} $httpd $OPTIONS RETVAL=$? echo [ $RETVAL = 0 ] && touch ${lockfile} return $RETVAL }
Виртуальный хостинг
Для виртуального хостинга в файле .htaccessphp_value pcre.recursion_limit 100000
Режим работы MySQL
Ошибка: innodb_strict_mode=ON, требуется OFFРешение: После обновления 1C-Битрикс, а конкретно модуля main 19.0.400 добавилась новая проверка. Исправление выйдет в следующих версиях BitrixVM. А сейчас можно исправить так:
Вариант 1
- Подключиться к серверу под root
- Открыть один из файлов (у всех могут быть разные, варианты)
- /etc/my.cnf
- /etc/alternatives/my.cnf
- /etc/bitrix-my.cnf
- Добавить строку в блоке # InnoDB parameters
innodb_strict_mode = OFF
Вариант 2
- В файл after_connect.php добавить:
$DB->Query("SET innodb_strict_mode='OFF'");
- В файл 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;
Похожие решения: