Ошибки при работе с 1С-Битрикс
Если после переноса вы видите на главной странице вместо новостей форму для авторизации и все пункты меню отмечены значком замка:
… и после авторизации все отображается правильно — перейдите в административную панель Битрикс и пройдите по пути: Настройки (Settings) → Настройки продукта (System settings) → Сайты (Sites) → Список сайтов (List of sites), выберите ваш сайт и проверьте значение поля «Путь к корневой папке веб-сервера для этого сайта (Path to the web server root folder of this site)», скорее всего там указан неправильный путь.
Рекомендуется оставить это поле пустым если вы не используете многосайтовость на разных доменах.
Если у вас возникли сложности, не описанные здесь, напишите нам на support@vmco.ru
При входе в административный интерфейс возникает сообщение об ошибке «Кодировка используемой вами базы данных MySql “utf8”, системе обновлений необходима кодировка “cp1251”. Обратитесь к администратору MySql для выполнения запроса alter database DATABASE_NAME default character set cp1251»
По умолчанию все сервисы виртуальной машины VMBitrix работают в кодировке UTF-8. По сравнению с кодировкой CP1251 (Windows-1251) UTF-8 предоставляет большие возможности по хранению информации на различных языках, подробнее можно узнать в Wikipedia.
Если по каким-либо причинам вы не можете перейти на использование UTF-8 — выполните указанный запрос самостоятельно.
Для этого перейдите в административный раздел Битрикс и пройдите по пути Настройки (Settings) → Инструменты (Tools) → SQL запрос (SQL query), скопируйте и вставьте запрос из сообщения об ошибке и выполните его.
Этот запрос изменяет свойство используемой базы данных, не затрагивая сами данные, и, при необходимости, вы можете вернуть старое значение обратно.
Если у вас возникли сложности, не описанные здесь, напишите нам на support@vmco.ru
Зависает переиндексация статических файлов сайта
При попытке обновить поисковый индекс вашего сайта процесс зависает (длится очень долго и статус уже переиндексированных документов не обновляется). Если производить переиндексацию по отдельным модулям — зависание происходит только при выборе модуля «Статические файлы».
Для решения проблемы необходимо изменить параметры mbstring в файле /etc/php.ini:
mbstring.func_overload = 0 mbstring.internal_encoding = CP1251
и перезапустить web-сервер Apache чтобы новые параметры вступили в силу:
/etc/init.d/apache2 restart
Если у вас возникли сложности, не описанные здесь, напишите нам на support@vmco.ru
На любой странице сайта возникает ошибка:
The script encountered an error and will be aborted. To view extended error messages, enable this feature in .settings.php.
В новом ядре Битрикс, настройка параметров производится в файле bitrix/.settings.php (обратите внимание, что имя файла начинается с точки). Ранее, для этих задач использовался файл bitrix/php_interface/dbconn.php.
По умолчанию, Битрикс скрывает любые сообщения об ошибках, так как это значительно снижает уровень безопасности системы. Поэтому при возникновении любой ошибки вместо нее будет отображаться указанное выше сообщение.
Поэтому первым делом, необходимо войти на сервер (по SSH или sFTP) и отредактировать файл bitrix/.settings.php. В нем следует найти строчку:
'debug' => false,
и изменить значение параметра debug на true, то есть строка должна принять вид:
'debug' => true,
После этого, при обращении к странице с ошибкой, вы увидите полное сообщение об ошибке. После исправления ошибки, не забудьте вернуть параметр debug в изначальное значение.
Болле подробное описание всех параметров файла .settings.php есть на сайте разработчика.
Если у вас возникли сложности, не описанные здесь, напишите нам на support@vmco.ru
На любой странице возникает ошибка:
DB query error. Please try later.
Эта ошибка абсолютно аналогична описанной выше, но возникает только в старом ядре Битрикс. Для включения вывода полного сообшения об ошибке войдите на сервер (по SSH или sFTP) и отредактируйте файл bitrix/php_interface/dbconn.php. В нем найдите строчку:
$DBDebug = false;
и измените значение переменной $DBDebug на true, то есть строка должна принять вид:
$DBDebug = true;
После этого, при обращении к странице с ошибкой, вы увидите полное сообщение об ошибке. После исправления ошибки, не забудьте вернуть параметр $DBDebug в изначальное значение.
Если у вас возникли сложности, не описанные здесь, напишите нам на support@vmco.ru
На сайте возникает ошибка:
Mysql connect error [localhost, 127.0.0.1]: Can't connect to local MySQL server through socket '/var/lib/mysqld/mysqld.sock' (2) (400)
Данная ошибка означает, что сервер баз данных MySQL не доступен. Это может произойти в ряде случаев и зачастую требуется отдельный анализ ситуации для выявления точной причины. Но в большинстве случаев эта ошибка возникает из-за следующих проблем:
Нехватка оперативной памяти.
Если при разработке проекта не рассчитывалась большая нагрузка (со стороны пользователей или объема обрабатываемых данных), или при разработке была допущена ошибка, или параметры MySQL и Apache не оптимальны для проекта, то при всплеске активности может возникнуть переполнение оперативной памяти (RAM). В этом случае, операционная система, для поддержания собственной безопасности, принудительно завершает работу самого объемного процесса (для web-серверов это как правило именно MySQL). В этом случае, в системном журнале /var/log/syslog и на консоли сервера (доступ к которой можно получить в панели управления vCenter) будет содержаться сообщение вида:
kernel: Out of memory: Kill process 1543 (mysqld) score 146 or sacrifice child
Сервер не может стартовать из-за ошибки в конфигурации.
Если у вас возникли сложности, не описанные здесь, напишите нам на support@vmco.ru
Возникает ошибка любого MySQL запроса вида:
MySQL Query Error: SELECT … FROM … [Got error 28 from storage engine]
Ошибка может содержать любой SELECT, INSERT или UPDATE запрос, но при этом обязательно заканчивается уточнением Got error 28 from storage engine. Причиной ошибки является переполнения жесткого диска (HDD)
В этом случае, войдите на сервер по SSH и выполните команду df -h:
# df -h Filesystem Size Used Avail Use% Mounted on /dev/sda2 9.6G 9.2G 0 100% / tmpfs 250M 0 250M 0% /dev/shm /dev/sda1 118M 102M 9.1M 92% /boot
Основной раздел, в примере /dev/sda2 (так как он наибольший, что видно по колонке Size, и точка монтирования у него — корневая директория Mounted on /) используется на 100%
Для восстановления работы следует удалить более ненужные данные с диска или увеличить дисковое пространство.
Если у вас возникли сложности, не описанные здесь, напишите нам на support@vmco.ru
- Общие вопросы
- Вопросы по 1С-Битрикс
- Ошибки при работе с 1С-Битрикс
- Поддержка почты домена
Почему VM
Виртуальные машины — это свобода:
- Свобода выбора OS и того, что в ней содержится.
- Свобода выбора конфигурации.
- Свобода от ограничений физических серверов, от их поломок и простоев.
- другие причины…
Почему мы
- Мы давно и успешно работаем в телекоммуникационном бизнесе. Мы накопили огромный опыт и умеем его применять. Мы знаем все об ошибках, которые не нужно совершать.
- Мы не экономим на качестве: мы покупаем лучшее оборудование и не занимаемся «уплотнением». Мы сами пользуемся нашей услугой и следим за тем, чтобы все было идеально.
Форум
К примеру стоит задача разрабраться, почему после переноса заказов и покупателей, и связей к ним. Покупатели на страницы покупатели не отображаются, но их можно просмотреть из заказа.
Очевидно, что не выполняется какое-то условие запроса. Только вот отловить запрос было бы значительно проще, если бы был такой «Дебаг режим», который в футере бы отображал MySQL запрос при загрузке страницы
Сообщений: 5442 Баллов: 1078 Регистрация: 16.07.2012
17.05.2017 08:11:32
Алексей Иванов, Включите отладку и перейдите в админку. Пробовали? Есть еще sql tracker из d7 — попробуйте, нам сильно помог.
Сообщений: 2481 Баллов: 430 Регистрация: 24.05.2011
17.05.2017 09:50:26
Цитата |
---|
Алексей Иванов написал: если бы был такой «Дебаг режим» |
В dbconn.php:
$DBDebug = false; $DBDebugToFile = false;
Такое нужно?
Страницы: 1
Центр поддержки
Продукты
Управление сайтом
Битрикс24
Интернет-магазин + CRM
Решения
Для интернет-магазинов
Каталог готовых решений
Внедрение
Выбрать партнера
Проверить партнера
Стать партнером
1С-Битрикс http://www.1c-bitrix.ru Общие вопросы info@1c-bitrix.ru Приобретение и лицензирование продуктов : sales@1c-bitrix.ru Маркетинг/мероприятия/PR marketing@1c-bitrix.ru Партнерская программа partners@1c-bitrix.ru Мы работаем с 10:00 до 19:00 по московскому времени. Офис в Москве 127287 Россия Московская область Москва 2-я Хуторская улица дом 38А строение 9 Офис в Калининграде +7 (4012) 51-05-64 Офис в Калининграде 236001 Россия Калининградская область Калининград Московский проспект 261 Офис в Киеве ukraine@1c-bitrix.ru Телефон в Киеве +3 (8044)221-55-33 Офис в Киеве 01033 Украина Калининградская область Киев улица Шота Руставели 39/41 офис 1507
© 2001-2024 «Битрикс», «1С-Битрикс». Работает на 1С-Битрикс: Управление сайтом. Политика конфиденциальности
Ошибки баз данных (mysql) и методы решений
Обратите внимание: при редактировании файлов баз данных сторонними программами (Sublime Text, Notepad++ и др.) всегда учитывайте кодировку в которой открывается и сохраняется .sql файл базы данных. В случае допуска ошибки могут проявляться малопредсказуемые последствия работы сайта.
Duplicate entry ‘1’ for key ‘PRIMARY’
Требуется заменить во всей базе данных INSERT INTO на REPLACE INTO.
Multiple primary key defined
Убедитесь, что в базе в которую производится импорт нет каких-либо данных (база должна быть полностью очищена).
[Bitrix\Main\DB\SqlQueryException] Mysql query error: Illegal mix of collations for operation ‘UNION’ (400)
Проблема с разными кодировками таблиц (collation utf8_unicode_ci и utf8_general_ci).
Требуется заменить DEFAULT CHARSET=utf8 на DEFAULT CHARSET=utf8 COLLATE utf8_unicode_ci во всей базе данных.
MySQL Query Error: SELECT DISTINCT BE.ID as ID . which is not in SELECT list; this is incompatible with DISTINCT
Необходимо очистить содержимое папки /bitrix/tmp/
[Bitrix\Main\DB\ConnectionException] Mysql connect error [localhost]: (1045) Access denied for user ‘***’@’localhost’ (using password: YES) (400)
Неверные данные для подключения к базе данных. Проверьте название базы данных, имя назначенного пользователя и его пароль в панели хостинга и отредактируйте данные в файлах /bitrix/php_interface/dbconn.php и /bitrix/.settings.php
Переменная sql_mode в MySQL должна быть пустая, текущее значение.
/bitrix/php_interface/after_connect_d7.php
добавить $connection->queryExecute(«SET sql_mode=»»);
/bitrix/php_interface/after_connect.php
добавить $DB->Query(«SET sql_mode=»»);
Ошибка innodb_strict_mode=ON, требуется OFF или Ошибка! Переменная sql_mode в MySQL должна быть пустая, текущее значение.
/bitrix/php_interface/after_connect.php
$DB->Query(«SET sql_mode=»»);
$DB->Query(«SET innodb_strict_mode=0»);
/bitrix/php_interface/after_connect_d7.php
$connection = Bitrix\Main\Application::getConnection();
$connection->queryExecute(«SET sql_mode=»»);
$connection->queryExecute(«SET innodb_strict_mode=0»);
Ошибка DB Query в Bitrix
В этой статье мы расскажем, из-за чего возникает ошибка «DB query error, please try later» в Bitrix и как её исправить на виртуальном хостинге.
Почему возникает ошибка
Ошибка DB query error, please try later возникает на CMS Битрикс.
Также встречаются варианты:
- Mysql connect error [localhost]: (2002) No such file or directory (400),
- DB query error,
- Got error 28 from storage engine.
Эта проблема связана с базой данных сайта: к ней поступает слишком много обращений — больше, чем сервер БД может обработать.
Вот несколько распространённых причин этой ошибки:
- не хватает дискового пространства на хостинге. В Битрикс встроено автоматическое резервное копирование. Эта опция создаёт резервные копии в папке /bitrix/backup/ и постепенно занимает место на диске. Чтобы решить проблему, необходимо удалить старые резервные копии;
- повреждена база данных MySQL. В этом случае нужна резервная копия БД: восстановите копию с датой, когда сайт работал корректно;
- неверные данные для подключения к БД. Настройки подключения к базе данных хранятся в файле /bitrix/php_interface/dbconn.php. Если указаны неверные логин, пароль или название базы данных, сайт не может к ней подключиться. Из-за этого возникает ошибка.
Как включить отображение ошибок через панель управления
Чтобы понять, чем именно вызвана ошибка, нужно посмотреть ее полное описание на сайте. Для этого включите debug-режим.
Debug-режим (режим отладки) — режим, который используют разработчики для проверки кода. Он позволяет увидеть полный текст ошибки и исправить её.
Перейдите в раздел Менеджер файлов:
Перейдите в папку php_interface и дважды кликните по файлу dbconn.php:
В блоках $DBDebug и $DBDebugToFile замените параметр «false» на «true» и нажмите Ok:
При переходе на сайт вы увидите текст ошибки. Он выделен красным цветом:
Как включить отображение ошибок через SSH-подключение
Подключитесь к серверу по SSH.
Выполните команду:
vim ~/www/domain.ru/bitrix/php_interface/dbconn.php
Где domain.ru — корневая папка сайта.
Кликните клавишу i, чтобы включить режим редактирования, затем в полях $DBDebug и $DBDebugToFile замените параметр «false» на «true»: Чтобы выйти из режима редактирования, нажмите Esc. Затем введите команду :qw и нажмите Enter:
Как освободить место для работы БД через панель управления
Для того чтобы освободить место на хостинге, нужно очистить папку /bitrix/backup/. Для этого:
Войдите в панель управления ispmanager. Если внешний вид вашей панели управления отличается от представленного в инструкции, кликните в левом нижнем углу «Старый интерфейс».
Перейдите в папку /bitrix/backup/. Выделите файлы, которые вам не нужны, и нажмите Удалить.
Чтобы подтвердить удаление, нажмите Ok.
Как освободить место для работы БД через SSH-подключение
Выполните команду:
cd ~/www/domain.ru/bitrix/backup/
Где domain.ru — корневая папка вашего сайта.
Чтобы удалить ненужные файлы, выполните команду:
rm domain.ru_20210512_104800_full_da85bdfa.tar domain.ru_20210512_104813_full_1463208a.tar domain.ru_20210512_104925_full_cdf5d6e0.tar
Как изменить данные для подключения к БД через панель управления
Проблема с подключением к базе данных может возникнуть, если в файле /bitrix/php_interface/dbconn.php указаны некорректные логин, пароль или имя базы данных. Чтобы изменить настройки подключения:
Перейдите в раздел Базы данных:
Кликните по базе данных и выберите Пользователи:
Кликните по пользователю базы данных и выберите Изменить:
Кликните на значок «глаз», чтобы увидеть пароль. Проверьте имя пользователя и пароль, затем нажмите Отмена: DB Query Error что это значит
Перейдите в раздел Главное — Менеджер файлов:
Откройте папку php_interface и дважды Кликните по файлу dbconn.php:
- $DBLogin — укажите имя пользователя базы данных,
- $DBPassword — введите пароль пользователя БД,
- $DBName — укажите имя базы данных.
Затем нажмите Ok.
Битрикс хранит настройки подключения не только в файле dbconn.php, но и в файле .settings.php. Перейдите в папку /bitrix/ и дважды кликните по файлу .settings.php:
- database — укажите имя базы данных,
- login — введите логин пользователя БД,
- password — укажите пароль пользователя БД. Затем нажмите Ok:
Как изменить данные для подключения к БД через SSH-соединение
Перед изменением данных проверьте имя БД, логин и пароль. Чтобы изменить данные для подключения:
Выполните команду:
vim ~/www/domain.ru/bitrix/php_interface/dbconn.php
Где domain.ru — корневая директория сайта.
- $DBLogin — укажите имя пользователя БД,
- $DBPassword — введите пароль пользователя базы,
- $DBName — укажите название базы данных.
Затем нажмите Esc, чтобы выйти из режима редактирования, введите команду :qw и нажмите Enter.
Настройки подключения к базе данных хранятся еще в одном файле — .settings.php. Чтобы открыть его, выполните команду:
vim ~/www/domain.ru/bitrix/.settings.php
Где domain.ru — корневая папка сайта.
- database — введите имя базы данных,
- login — укажите имя пользователя БД,
- password — введите пароль пользователя БД.
Чтобы выйти из режима редактирования, нажмите Esc. Затем введите команду :qw и нажмите Enter.
Если вы выполнили рекомендации из статьи, но на сайте сохраняется ошибка — обратитесь в техническую поддержку.
Помогла ли вам статья?
Спасибо за оценку. Рады помочь