Mysql query error битрикс при авторизации

Добрый день, есть сайт на очень старом битриксе. В  разделе есть отдельный скрипт. Вопрос: почему при попытке авторизации на странице со скриптом битрикс выдает ошибку MySQL Query Error и пытается подключиться не к своей базе данных, при этом авторизация все равно происходит (данные пишутся в сессию).
 

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

Заглянувший

Сообщений: 9
Авторитет:

0

Рейтинг пользователя:

0

Регистрация: 20.04.2009

Добрый день, есть сайт

Medevices

на очень старом битриксе. В

ЭТОМ

 разделе есть отдельный скрипт. Вопрос: почему при попытке авторизации на странице со скриптом битрикс выдает ошибку MySQL Query Error и пытается подключиться не к своей базе данных, при этом авторизация все равно происходит (данные пишутся в сессию).

 

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

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

Сообщений: 387
Баллов: 44
Авторитет:

1

Рейтинг пользователя:

0

Регистрация: 05.09.2011

Опишите «отдельный скрипт» и приведите текст ошибки.

Возможно post информация авторизации конфликтует с вашим скриптом. (маловероятно, но пока что не известно что за скрипт).

Проблема возникла недавно или была изначально?

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

 

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

Заглянувший

Сообщений: 9
Авторитет:

0

Рейтинг пользователя:

0

Регистрация: 20.04.2009

#3

0

18.09.2011 17:52:56

Проблему отловил только вчера, была ли она раньше не знаю.
Скрипт такой: обращение к бд (другой, не той на которой битрикс сидит), выгрузка из нее данных + разные примочки, скрипт большой, написан обьектами, поэтому привести код было бы напряжно (500+ строк). АПИ битрикса он использует, но только IsAdmin и данные пользователя тянет (это работает нормально).
При попытке авторизации с любой страницы «скрипта» возникает ошибка

Код
MySQL Query Error: SELECT VALUE FROM b_user_option WHERE (USER_ID=436 OR COMMON='Y') AND CATEGORY='global' AND NAME='settings' ORDER BY COMMON[Table 'u83089_nom.b_user_option' doesn't exist]

Где u83089.nom — база данных «скрипта». Но при этом, авторизация битрикса все же происходит (т.е. в сессии появляются данные).

 

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

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

Сообщений: 387
Баллов: 44
Авторитет:

1

Рейтинг пользователя:

0

Регистрация: 05.09.2011

В режиме отладки посмотрите какой компонент вызвал данный mysql запрос,

b_user_option — таблица битрикса, ваш скрипт тянет инфу из другой установки битрикса?

Пока что подозреваю что кто то не использует указатель на соединение к базе, но пока что мало оснований для  утверждений, только предположение…

 

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

Заглянувший

Сообщений: 9
Авторитет:

0

Рейтинг пользователя:

0

Регистрация: 20.04.2009

Данный запрос происходит если я пытаюсь авторизоваться в битриксе (авторизация статичной формой висит слева). Мой скрипт вообще не относится к битриксу, он тянет инфу из своей базы. А вот почему битрикс пытается из этой базы тянуть инфу это уже вопрос. Соединение с базой в моем скрипте происходит созданием обьекта класса базы данных) (самописного).

 

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

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

Сообщений: 387
Баллов: 44
Авторитет:

1

Рейтинг пользователя:

0

Регистрация: 05.09.2011

Тогда предположительно ошибка в «очень старом битриксе». Возможно в каком то месте не правильно сделан запрос. Укажите конкретней версию.

Ваш скрипт закрывает соединение ? Думаю не каких конфликтов быть не должно если после всей работы скрипта закрывать соединение.

Хотя стоп, вы уверены что запрос вызывает компонент формы входа ? Авторизация должна быть до обработки страницы, а значит до работы скрипта.

 

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

Заглянувший

Сообщений: 9
Авторитет:

0

Рейтинг пользователя:

0

Регистрация: 20.04.2009

Соединение закрывается деструктром класса. Ошибка возникает даже при использовании mysql_pconnect. Битрикс — некая редакция «Стандарт» 2008 года.

 

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

Заглянувший

Сообщений: 9
Авторитет:

0

Рейтинг пользователя:

0

Регистрация: 20.04.2009

#8

0

18.09.2011 19:25:29

А что если не форма? Ошибка возникает при вводе данных и нажатии кнопки «Вход» =)

Код
http://medevices.ru/nomenclature/index.php?back_url_admin=%2Fbitrix%2Fadmin%2Fsysupdate.php%3Flang%3Dru&bitrix_include_areas=N

По этому линку через раз эррорит

Код
MySQL Query Error: SELECT VALUE FROM b_user_option WHERE (USER_ID=436 OR COMMON='Y') AND CATEGORY='global' AND NAME='settings' ORDER BY COMMON[Table 'u83089_nom.b_user_option' doesn't exist]
 

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

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

Сообщений: 387
Баллов: 44
Авторитет:

1

Рейтинг пользователя:

0

Регистрация: 05.09.2011

Ладно, пока думаю что это может быть, банальный вопрос, но все же: «Вы проверили авторизацию на других страницах?»

И кстате все таки включите отладку и посмотрите какой именно модулькомпонент вызвал запрос. В отладке можно увидеть в каком именно файле и в какой строке был вызов. И уже может быть в коде можно будет увидеть багу.

 

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

Заглянувший

Сообщений: 9
Авторитет:

0

Рейтинг пользователя:

0

Регистрация: 20.04.2009

#10

0

18.09.2011 20:35:25

Да, конечно с других страниц все ок.
Как включить отладку?

 

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

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

Сообщений: 387
Баллов: 44
Авторитет:

1

Рейтинг пользователя:

0

Регистрация: 05.09.2011

#11

0

18.09.2011 20:56:20

В панели инструментов кнопка с надписью «Отладка», в старом дизайне это вроде в панели «Разработка»

Под каждым компонентом и в конце страницы выводиться статистика и ссылка для просмотра детальной инфы по мускульным запросам

 

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

Заглянувший

Сообщений: 9
Авторитет:

0

Рейтинг пользователя:

0

Регистрация: 20.04.2009

#12

0

18.09.2011 21:39:16

Код
Запрос No 1: 

SET NAMES 'cp1251'   

Откуда вызван: 

(1.1) /home/u83089/medevices.ru/www/bitrix/php_interface/after_connect.php:2
CDatabase->Query(...)   

(1.2) /home/u83089/medevices.ru/www/bitrix/modules/main/classes/mysql/database.php:111
include(Array ( [0] => /home/u83089/medevices.ru/www/bitrix/php_interface/after_connect.php ) )   

(1.3) /home/u83089/medevices.ru/www/bitrix/modules/main/classes/mysql/database.php:554
CDatabase->DoConnect(Array ( ) )   

Время выполнения: 0.00016 сек.
Код
Запрос No 2: 

SELECT VALUE 
FROM b_user_option 
WHERE (USER_ID=436 OR COMMON='Y') AND CATEGORY='global' AND NAME='settings' 
ORDER BY COMMON   

Откуда вызван: 

(1.1) /home/u83089/medevices.ru/www/bitrix/modules/main/classes/general/favorites.php:257
CDatabase->Query(...)   

(1.2) /home/u83089/medevices.ru/www/bitrix/modules/main/interface/admin_lib.php:3019
CAllUserOptions::GetOption(Array ( [0] => global [1] => settings ) )   

(1.3) /home/u83089/medevices.ru/www/bitrix/modules/main/interface/init_admin.php:6
CAdminTheme::GetCurrentTheme(Array ( ) )   

Время выполнения: 0.00011 сек.
Код
Запрос No 3: 

SELECT VALUE 
FROM b_user_option 
WHERE (USER_ID=436 OR COMMON='Y') AND CATEGORY='admin_panel' AND NAME='settings' 
ORDER BY COMMON   

Откуда вызван: 

(1.1) /home/u83089/medevices.ru/www/bitrix/modules/main/classes/general/favorites.php:257
CDatabase->Query(...)   

(1.2) /home/u83089/medevices.ru/www/bitrix/modules/main/public/top_panel.php:180
CAllUserOptions::GetOption(Array ( [0] => admin_panel [1] => settings ) )   

(1.3) /home/u83089/medevices.ru/www/bitrix/modules/main/classes/general/main.php:1983
GetPanelHtml(Array ( ) )   

Время выполнения: 0.00023 сек.

Косячит

Код
MySQL Query Error: SELECT VALUE FROM b_user_option WHERE (USER_ID=436 OR COMMON='Y') AND CATEGORY='global' AND NAME='settings' ORDER BY COMMON[Table 'u83089_nom.b_user_option' doesn't exist]

Запрос №2….

 

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

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

Сообщений: 387
Баллов: 44
Авторитет:

1

Рейтинг пользователя:

0

Регистрация: 05.09.2011

#13

0

18.09.2011 22:37:10

Вызов из ядра…. хм
А тогда еще глупый вопрос, а реально такая таблица есть в базе битрикса ? :)
ну в смысле именно в вашей рабочей базе

 

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

Заглянувший

Сообщений: 9
Авторитет:

0

Рейтинг пользователя:

0

Регистрация: 20.04.2009

#14

0

19.09.2011 02:06:48

В базе битрикса эта таблица есть, в моей  базе (с которой скрипт тянет инфу) ее нет и никогда не было.  :|

 

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

Администратор

Сообщений: 2072
Баллов: 290
Авторитет:

0

Рейтинг пользователя:

18

Регистрация: 28.03.2006

#15

0

19.09.2011 10:39:09

Лев, судя по всему, какие-то файлы ядра битрикса на вашей установке оказались новее, чем база данных.
Т.е. и просто скопировали руками с более свежей версии.

Самое эффективное решение — купить продление и обновить файлы и базу до актуальной версии.

 

Михаил Митрофанов

Администратор

Сообщений: 1433
Баллов: 216
Авторитет:

1

Рейтинг пользователя:

14

Регистрация: 31.10.2007

#16

0

19.09.2011 10:52:14

Цитата
Лев Вербицкий пишет:
Где u83089.nom — база данных «скрипта».

А в продукте другая БД?
Вы делаете в своём скрипте новое MySQL соединение средствами функции mysql_connect()? Если да, то попробуйте использовать в mysql_connect (ко второй БД) четвертый параметр, равный true:

Код
$DB_link = mysql_connect($db_host, $db_user, $db_pass, true) or die("Problem to conect server with DB at ".$db_user."@".$db_host);  

См.

http://ru.php.net/manual/ru/function.mysql-connect.php

 

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

Администратор

Сообщений: 2072
Баллов: 290
Авторитет:

0

Рейтинг пользователя:

18

Регистрация: 28.03.2006

#17

1

19.09.2011 11:29:24

А, понял.

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

Код
mysql_select_db($GLOBALS['DB']->DBName);
 

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

Заглянувший

Сообщений: 9
Авторитет:

0

Рейтинг пользователя:

0

Регистрация: 20.04.2009

#18

1

19.09.2011 13:04:31

Цитата
Михаил Митрофанов пишет:

Цитата
Лев Вербицкий пишет:
Где u83089.nom — база данных «скрипта».

А в продукте другая БД?
Вы делаете в своём скрипте новое MySQL соединение средствами функции mysql_connect()? Если да, то попробуйте использовать в mysql_connect (ко второй БД) четвертый параметр, равный true:

Код
$DB_link = mysql_connect($db_host, $db_user, $db_pass, true) or die("Problem to conect server with DB at ".$db_user."@".$db_host);  

См.

http://ru.php.net/manual/ru/function.mysql-connect.php

Большое спасибо, все стало ок. А вообще почему возникала такая ошибка?

 

Михаил Митрофанов

Администратор

Сообщений: 1433
Баллов: 216
Авторитет:

1

Рейтинг пользователя:

14

Регистрация: 31.10.2007

#19

1

19.09.2011 13:40:18

Цитата
Лев Вербицкий пишет:
Большое спасибо, все стало ок. А вообще почему возникала такая ошибка?

Ну если помогли данные нами рекомендации, значит проблема в неправильном вызове функции mysql_connect(), подробнее в в оф. документации

http://ru.php.net/manual/ru/function.mysql-connect.php

 

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

Заглянувший

Сообщений: 1
Авторитет:

1

Рейтинг пользователя:

0

Регистрация: 16.02.2012

#20

0

16.02.2012 18:00:59

Ошибка  «Undefined variable: nHasSelected»  в строке 34 (Последняя в вырезке): <? $previousLevel = 0;
foreach($arResult as $key => $arItem):

if ($previousLevel && $arItem[«DEPTH_LEVEL»] < $previousLevel):
echo str_repeat(«</ul></li>», ($previousLevel — $arItem[«DEPTH_LEVEL»]));
endif;

if ($arItem[«IS_PARENT»]):
$i = $key;
$bHasSelected = $arItem[‘SELECTED’];
$childSelected = false;
if (!$bHasSelected)
{
while ($arResult[++$i][‘DEPTH_LEVEL’] > $arItem[‘DEPTH_LEVEL’])
{
if ($arResult[$i][‘SELECTED’])
{
$bHasSelected = $childSelected = true; break;
}
}
}

$className = $nHasSelected ? ‘selected’ : »;//($bHasSelected ? ‘selected’ : »);
?>

в файле

(Я пока неопытный)

 

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

Заглянувший

Сообщений: 1
Авторитет:

1

Рейтинг пользователя:

0

Регистрация: 02.04.2012

#21

0

18.06.2014 13:31:55

Цитата
Denis Sharomov пишет:
А, понял.

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

Код
 mysql_select_db($GLOBALS['DB']->DBName); 

Спасибо. Помогло.

 

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

Эксперт

Сообщений: 739
Баллов: 123
Авторитет:

0

Рейтинг пользователя:

0

Регистрация: 29.04.2011

#22

0

07.11.2021 08:57:20

У меня такая же ошибка на странице хайлоад блока в админке /bitrix/admin/highloadblock_rows_list.php?ENTITY_ID=11&lang=ru

 

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

Заглянувший

Сообщений: 22
Баллов: 2
Авторитет:

0

Рейтинг пользователя:

0

Регистрация: 25.12.2017

#23

0

08.02.2022 11:17:21

Тоже ошибка MySQL Query Error! при попытке входа, причем вход не происходит, просто крутится колесика на кнопке входа, страница не обновляется. Случилось после обновления битрикса, до этого работало нормально.

В этой статье мы расскажем, из-за чего возникает ошибка «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-режим (режим отладки) — режим, который используют разработчики для проверки кода. Он позволяет увидеть полный текст ошибки и исправить её.

Для этого:

  1. 1.

  2. 2.

    Перейдите в раздел Менеджер файлов:

  3. 3.

    Перейдите в папку php_interface и дважды кликните по файлу dbconn.php:

  4. 4.

    В блоках $DBDebug и $DBDebugToFile замените параметр «false» на «true» и нажмите Ok:

  5. 5.

    При переходе на сайт вы увидите текст ошибки. Он выделен красным цветом:

Как включить отображение ошибок через SSH-подключение

  1. 1.

    Подключитесь к серверу по SSH.

  2. 2.

    Выполните команду:

    vim ~/www/domain.ru/bitrix/php_interface/dbconn.php

    Где domain.ru — корневая папка сайта.

  3. 3.

    Кликните клавишу i, чтобы включить режим редактирования, затем в полях $DBDebug и $DBDebugToFile замените параметр «false» на «true»:

    Чтобы выйти из режима редактирования, нажмите Esc. Затем введите команду :qw и нажмите Enter:

Как освободить место для работы БД через панель управления

Для того чтобы освободить место на хостинге, нужно очистить папку /bitrix/backup/. Для этого:

  1. 1.

    Войдите в панель управления ISPmanager. Если внешний вид вашей панели управления отличается от представленного в инструкции, кликните в левом нижнем углу «Старый интерфейс».

  2. 2.

    Перейдите в папку /bitrix/backup/. Выделите файлы, которые вам не нужны, и нажмите Удалить.

  3. 3.

    Чтобы подтвердить удаление, нажмите Ok.

Как освободить место для работы БД через SSH-подключение

  1. 1.

  2. 2.

    Выполните команду:

    cd ~/www/domain.ru/bitrix/backup/

    Где domain.ru — корневая папка вашего сайта.

  3. 3.

    Чтобы удалить ненужные файлы, выполните команду:

    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 указаны некорректные логин, пароль или имя базы данных. Чтобы изменить настройки подключения:

  1. 1.

  2. 2.

    Перейдите в раздел Базы данных:

  3. 3.

    Кликните по базе данных и выберите Пользователи:

  4. 4.

    Кликните по пользователю базы данных и выберите Изменить:

  5. 5.

    Кликните на значок «глаз», чтобы увидеть пароль. Проверьте имя пользователя и пароль, затем нажмите Отмена:


    DB Query Error что это значит

  6. 6.

    Перейдите в раздел Главное — Менеджер файлов:

  7. 7.

    Откройте папку php_interface и дважды Кликните по файлу dbconn.php:

  8. 8.

    Заполните поля:

    • $DBLogin — укажите имя пользователя базы данных,
    • $DBPassword — введите пароль пользователя БД,
    • $DBName — укажите имя базы данных.

    Затем нажмите Ok.

  9. 9.

    Битрикс хранит настройки подключения не только в файле dbconn.php, но и в файле .settings.php. Перейдите в папку /bitrix/ и дважды кликните по файлу .settings.php:

  10. 10.

    Заполните поля:

    • database — укажите имя базы данных,
    • login — введите логин пользователя БД,
    • password — укажите пароль пользователя БД.
      Затем нажмите Ok:

Как изменить данные для подключения к БД через SSH-соединение

Перед изменением данных проверьте имя БД, логин и пароль. Чтобы изменить данные для подключения:

  1. 1.

  2. 2.

    Выполните команду:

    vim ~/www/domain.ru/bitrix/php_interface/dbconn.php

    Где domain.ru — корневая директория сайта.

  3. 3.

    Кликните клавишу i, чтобы включить режим редактирования. Заполните поля:

    • $DBLogin — укажите имя пользователя БД,
    • $DBPassword — введите пароль пользователя базы,
    • $DBName — укажите название базы данных.

    Затем нажмите Esc, чтобы выйти из режима редактирования, введите команду :qw и нажмите Enter.

  4. 4.

    Настройки подключения к базе данных хранятся ещё в одном файле — .settings.php. Чтобы открыть его, выполните команду:

    vim ~/www/domain.ru/bitrix/.settings.php

    Где domain.ru — корневая папка сайта.

  5. 5.

    Нажмите на клавишу i, чтобы включить режим редактирования. Заполните поля:

    • database — введите имя базы данных,
    • login — укажите имя пользователя БД,
    • password — введите пароль пользователя БД.

    Чтобы выйти из режима редактирования, нажмите Esc. Затем введите команду :qw и нажмите Enter.

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

Скачал Бритикс версия Бизнес(файл business_encode_php5.exe).

Устанавливаю. Установилось веб-окружение, запустилось. Потом было создание админа, выбор шаблона. И на следующем этапе выпала ошибка:

Внимание! На данном шаге произошла ошибка установки продукта.
Текст ошибки:
MySQL Query Error: select ID, ATTRIBUTES from b_xml_tree where (ID = 1) and (NAME = ‘КоммерческаяИнформация’) [Illegal mix of collations (cp1251_general_ci,IMPLICIT) and (latin1_swedish_ci,COERCIBLE) for operation ‘=’] DB query error. Please try later.
Повторите установку текущего шага. В случае повторения ошибки пропустите шаг.

Эта ошибка наблюдалась под Google Chrome. Зайдя под Оперой я с удивлением обнаружил что в Опере установка падает на другой ошибке:

Проверил несколько раз. В Хроме первая ошибка, в Опере и IE вторая.
Это очень удивительно что запросы к БД зависят от браузера, продолжаем дальше.

В этой статье мы расскажем, из-за чего возникает ошибка «DB query error, please try later» в Bitrix и как её исправить на виртуальном хостинге.

Ошибка DB query error, please try later возникает на CMS Битрикс.

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

Чтобы понять, чем именно вызвана ошибка, нужно посмотреть её полное описание на сайте. Для этого включите debug-режим.

Debug-режим (режим отладки) — режим, который используют разработчики для проверки кода. Он позволяет увидеть полный текст ошибки и исправить её.

В блоках $DBDebug и $DBDebugToFile замените параметр «false» на «true» и нажмите Ok:

При переходе на сайт вы увидите текст ошибки. Он выделен красным цветом:

Где domain.ru — корневая папка сайта.

Кликните клавишу i, чтобы включить режим редактирования, затем в полях $DBDebug и $DBDebugToFile замените параметр «false» на «true»:

Чтобы выйти из режима редактирования, нажмите Esc. Затем введите команду :qw и нажмите Enter:

Для того чтобы освободить место на хостинге, нужно очистить папку /bitrix/backup/. Для этого:

Приветствую форумчане!
При подключении фильтра на странице каталога, возникает ошибка:

public static function GetPropertyValues($IBLOCK_ID, $arElementFilter, $arProperties = array(), $extMode = false)
<
global $DB;
$IBLOCK_ID = intval($IBLOCK_ID);
$VERSION = CIBlockElement::GetIBVersion($IBLOCK_ID);

$element = new CIBlockElement;
$element->strField = «ID»;
$element->GetList(array(), $arElementFilter, false, false, array(«ID»));

/*
$arPropertyIDs = array();
foreach($arProperties as $arProperty)
<
if(intval($arProperty[‘PROPERTY_ID’]))
$arPropertyIDs[$arProperty[‘PROPERTY_ID’]] = $arProperty[‘PROPERTY_ID’];
>
*/

$q = ‘SEL ECT DISTINCT `PROPERTY_ID` FR OM `b_iblock_section_property` WHERE `SMART_FILTER` = «Y» AND `IBLOCK_ID` = ‘.$IBLOCK_ID;
$db = $DB->Query($q);
$propertyIDs = array();
while($propertyID = $db->fetch()) <
$propertyIDs[] = $propertyID[‘PROPERTY_ID’];
>

if ($VERSION == 2)
$strSql = »
SEL ECT
BEP.*
FR OM
«.$element->sFrom.»
INNER JOIN b_iblock_element_prop_s».$IBLOCK_ID.» BEP ON BEP.IBLOCK_ELEMENT_ID = BE.ID
WHERE 1=1 «.$element->sWhere.»
ORDER BY
BEP.IBLOCK_ELEMENT_ID
«;
else
$strSql = »
SEL ECT
BE.ID IBLOCK_ELEMENT_ID
,BEP.IBLOCK_PROPERTY_ID
,BEP.VALUE
,BEP.VALUE_NUM
FR OM
«.$element->sFrom.»
LEFT JOIN b_iblock_element_property BEP ON BEP.IBLOCK_ELEMENT_ID = BE.ID
AND BEP.VALUE != »».(!empty($propertyIDs) ? » AND BEP.IBLOCK_PROPERTY_ID IN («.implode(‘, ‘, $propertyIDs).»)» : «»).»
WHERE 1=1 «.$element->sWhere.»
ORDER BY
BEP.IBLOCK_ELEMENT_ID
«;

$rs = new CIBlockPropertyResult($DB->Query($strSql));
$rs->setIBlock($IBLOCK_ID);
$rs->setMode($extMode);

Источник

Bitrix24 mysql query error

Курс предназначен для организаций, предоставляющих услуги хостинга и желающих получить компетенцию Рекомендуемый хостинг.

В курсе рассматриваются требования платформы Bitrix Framework к хостингу, вопросы установки, настройки продукта а также вопросы инструментов и методов оптимизации серверов и баз данных для работы с системой

Для хостеров не является обязательным, но рекомендуется изучение курсов Контент-менеджер и Администратор. Базовый для получения более полного представления о возможностях системы и способах работы с ней.

Рекомендуется ознакомиться с опытом настройки и тестирования серверов в блоге Дениса Шаромова, а так же с отзывами клиентов о хостингах в группе Черный и белый список хостингов социальной сети компании «1С-Битрикс».

Если ваш хостинг на Windows, то вам может быть полезна группа 1С-Битрикс на платформе Windows Server 2008 в социальной сети сайта «1С-Битрикс». В ней пользователи делятся опытом работы системы на IIS 7.

Тесты и сертификат

После изучения курса вам будет предложено пройти тесты на сертификацию. При успешной сдаче линейки тестов на странице Моё обучение можно просмотреть результат обучения и загрузить сертификат в формате PDF.

Также Вы можете поделиться ссылкой на страницу со своими сертификатами. Для этого на странице Моё обучение отметьте опцию Разрешить публичный доступ к резюме студента и скопируйте ссылку на страницу резюме . Страница с Вашим резюме будет доступна всем, кому Вы отправите ссылку на неё.

Комментарии к урокам

На каждой странице курса авторизованный на сайте посетитель может дать комментарий к содержимому страницы. Комментарий — не форум, там не ведётся обсуждений или разъяснений. Это инструмент для сообщений нам об ошибках, неточностях. Для отправки комментария воспользуйтесь расположенной в правом нижнем углу окна браузера кнопкой:

У нас часто спрашивают, сколько нужно заплатить

Курс полностью бесплатен. Изучение курса, прохождение итоговых тестов и получение сертификатов — ничего из этого оплачивать не нужно.

Ещё у нас есть Академия 1С-Битрикс, где можно обучиться на платной основе на курсах нашей компании либо наших партнёров.

Баллы опыта

В конце каждого урока есть кнопка Прочитано! . При клике на неё в Вашу итоговую таблицу опыта добавляется то количество баллов, которое указано в прочитанном После нажатия кнопки Прочитано! появится
окно подтверждения:

уроке.

Периодически мы заново оцениваем сложность уроков, увеличивая/уменьшая число баллов, поэтому итоговое количество набранных Вами баллов может отличаться от максимально возможного. Не переживайте! Отличный результат — это если общее число набранных Вами баллов отличается от максимального на 1-2%.

Скачать материалы курса в формате EPUB. Файлы формата EPUB Чем открыть файл на
Android:
EPUB Reader
CoolReader
FBReader
Moon+ Reader
eBoox

iPhone:
FBReader
CoolReader
iBook
Bookmate

Windows:
Calibre
FBReader
Icecream Ebook Reader
Плагины для браузеров:
EpuBReader – для Firefox
Readium – для Google Chrome

iOS
Marvin for iOS
ShortBook

Linux:
Calibre
FBReader
Cool Reader
Okular обновляются периодически, поэтому возможно некоторое отставание их от онлайновой версии курса. Версия файла от 03.11.2022.

Источник

Ошибка выгрузки MySQL Query Error

Добрый день!
Выгрузка номенклатуры на сайт выдает ошибку MySQL Query Error: INS ERT INTO b_xml_tree. Спецы по сайту указывают на то, что эта ошибка указывает на несколько одновременно запущенных процессов обмена: «Ошибка означает что отсутствовала таблица во время попытки записи в нее.
Складывается ощущение что Вы запускаете два импорта разом. ну или первый импорт не успевает отработать к тому времени когда Вы запускаете второй. В этом случае второй импорт удаляет таблицу чтобы в нее загрузить новые данные. А первый импорт пытается произвести в нее запись.»

ТП Битрикса, на подобное же обращение (моего коллеги с такой же проблемой) отвечает аналогичным образом.

Подскажите, как такое может получиться, если запускаю только я и точно не два раза. По расписанию выгрузку отключила, так что наложиться тут ничего не может.

Может кто сталкивался с подобным? Пример ошибки в логах:

Бывает с тестовой базы продолжает обмен работать.

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

Цитата
baltika написал:
В момент запуска обмена другие регламентные задания с сайтом не выполняются?

Цитата
Алексей Беспалов написал:
Бывает с тестовой базы продолжает обмен работать.

Если в тестовой базе выгрузка по расписанию отключена, в ручную с тестовой базы давно уже обмен не запускался, то этот вариант снимается?

Цитата
Алексей Беспалов написал:
А ещё можно попробовать удалить файлы таблицы и запустить обмен. Бывает файл таблицы отсутствует, а файл индекса остается, что mysql считает некорректной ситуацией и не дает создать файл таблицы.

Если точно не работает обмен из тестовой конечно снимается.

Можно к хостерам обратится или самим подключится к серверу по SSH или FTP и посмотреть.

Цитата
Татьяна Гладкая написал:
Есть импорт в Я.Маркет с сайта
Цитата
Евгений Жуков написал:
Нет, я спрашивал про xml-импорт НА сайт.

Цитата
Евгений Жуков написал:
проблема строго регулярная или эпизодическая?
Цитата
Татьяна Гладкая написал:
На сайт еще из 1С выгружаются статусы талонов по ремонту оборудования. Но они выгружаются через Highload-блоки и никак не связаны с товарами. Так же они льются в тойже выгрузке: сначала выгружаются товары, затем талоны на ремонт. исключительно последовательно. Это может повлиять?

Цитата
Татьяна Гладкая написал:
Периодическая. При чем не предсказуемо периодическая!
Цитата
Евгений Жуков написал:
ставить отладку с трассировкой и ждать ошибки

на стороне 1С это делается?

Битрикс мне написал: «Поставьте прокси-сервер fiddler ( http://www.fiddler2.com/fiddler2/ ) на компьютер с 1C с которого производится выгрузка.
Откройте fiddler и включите логирование трафика по https — Tools > Fiddler Options > HTTPS > Decrypt HTTPS traffic option, если ваш сайт работает по протоколу https. После запустите выгрузку. При этом ваши хиты отобразятся в fiddler, сохраните сессию из fiddler в формате saz и приложите её к обращению.»

Вы тоже об этом?

Цитата
Юра Козлов написал:
Татьяна Гладкая
Нашли какоето решение? такаяже проблема
Цитата
Юра Козлов написал:
Нашли какоето решение? такаяже проблема

Добрый день! Да, методом наблюдения поняла.

Суть действительно та: две параллельные выгрузки одновременно. Как это получалось:
1. Исходно в 1С стоит выгрузка ИЗМЕНЕНИЙ. Затем я меняю на «ПОЛНАЯ ВЫГРУЗКА» http://joxi.ru/823L8x3iJM1EdA и нажимаю «Записать». При перезаписи узла обмена на полную выгрузку, как оказалось, эта полная выгрузка запускалась в фоновом режиме. А я, не зная этого, запускала ее кнопкой «Выполнить обмен». Получалось две параллельные выгрузки.
2. Это когда 1С-ник вносил какие-то изменния в конфигурацию 1с или его работы как-то затрагивали изменение или пересохранение узла обмена. Обмен автоматом запускался в фоном режиме. Если я, в это время запускала сама, опять получалось наложение выгрузок.
3. Еще один возможный вариант это когда стоит выгрузка по расписанию, но человек не зная этого или забыв, заходит и запускает сам выгрузку. У нас такого варианта не было. Но тоже может стать причиной наложения выгрузок.

После того как обновили модуль обмена 1С на 7.х проблема указанная в п.1 ушла, т.е. автоматом при сохранении выгрузка не запускается в фоновом режиме.

Источник

Adblock
detector

  • После переноса вся публичная часть не видна без авторизации по логину и паролю
  • При входе в административный интерфейс возникает сообщение об ошибке «Кодировка используемой вами базы данных MySql “utf8”, системе обновлений необходима кодировка “cp1251”. Обратитесь к администратору MySql для выполнения запроса alter database DATABASE_NAME default character set cp1251»
  • Зависает переиндексация статических файлов сайта
  • На любой странице сайта возникает ошибка:
    The script encountered an error and will be aborted. To view extended error messages, enable this feature in .settings.php.
  • На любой странице сайта возникает ошибка: DB query error. Please try later.
  • На сайте возникает ошибка: 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 Query Error: SELECT … FROM … [Got error 28 from storage engine]

После переноса вся публичная часть не видна без авторизации по логину и паролю

Если после переноса вы видите на главной странице вместо новостей форму для авторизации и все пункты меню отмечены значком замка:

… и после авторизации все отображается правильно — перейдите в административную панель Битрикс и пройдите по пути: Настройки (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 не доступен. Это может произойти в ряде случаев и зачастую требуется отдельный анализ ситуации для выявления точной причины. Но в большинстве случаев эта ошибка возникает из-за следующих проблем:

  1. Нехватка оперативной памяти.

    Если при разработке проекта не рассчитывалась большая нагрузка (со стороны пользователей или объема обрабатываемых данных), или при разработке была допущена ошибка, или параметры MySQL и Apache не оптимальны для проекта, то при всплеске активности может возникнуть переполнение оперативной памяти (RAM). В этом случае, операционная система, для поддержания собственной безопасности, принудительно завершает работу самого объемного процесса (для web-серверов это как правило именно MySQL).

    В этом случае, в системном журнале /var/log/syslog и на консоли сервера (доступ к которой можно получить в панели управления vCenter) будет содержаться сообщение вида:

    kernel: Out of memory: Kill process 1543 (mysqld) score 146 or sacrifice child
    

    В этом случае, перезагрузите сервер, для освобождения памяти и восстановления работы всех сервисов. Затем привлеките разработчиков для оптимизации скриптов и запросов к БД, для предотвращения возникновения ошибки в будущем. Либо, если оптимизация не представляется возможной, увеличить тарифный план, тем самым увеличить объем доступной памяти.

  2. Сервер не может стартовать из-за ошибки в конфигурации.

    Как правило это может возникнуть после правки конфигурационного файла my.cnf или обновления системы. В этом случае, следует откатить изменения и перезапустить сервер или отдельно MySQL.

Если у вас возникли сложности, не описанные здесь, напишите нам на 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

↑ вернуться к оглавлению

Обновлено 30.05.2018

db query error please try later

Всех вновь приветствую на страницах своего блога, продолжаем заниматься уроками по 1С битрикс. На днях у меня один физический сервер переезжал в другой цод, товарищи из данного цода начали выполнять работы раньше и не дали возможности правильно потушить виртуальные машины. После переезда на одном из сайтов я увидел вот такую ошибку db query error please try later, давайте рассмотрим как ее решить и на будущее знать, что делать, на это у вас уйдет не более 5 минут.

Решаем ошибку db query error

Ранее у меня была установка bitrix на centos. Причин у данной ошибки может быть несколько и мы их рассмотрим все. Для начала приведу пример скриншота, как выглядит ошибка db query error please later, согласитесь не очень информативно.

db query error please try later-2

Закончилось свободное место

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

Вы получите сводку по разделам, в моем примере места свободного достаточно.

db query error please try later-3

Повредилась база данных Mysql

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

/bitrix/php_interface/dbconn.php

Для того, чтобы его отредактировать я вам советую зайти по sftp-ssh соединению, как это сделать я описывал в заметке Как зайти на ftp сервер хостинга. Единственно, что когда будите создавать подключение выбирайте sftp-ssh. Еще может так же помочь утилита WinSCP 5.7.6, делает она тоже самое. И та и другая просто файловые менеджеры.

Открываем этот файл и находим переменную $DBDebug = false; Изменяем ее значение на $DBDebug = true; Обратите внимание, что в этом файле есть такие полезные параметры как:

  • $DBLogin > логин к базе данных
  • $DBPassword > пароль
  • $DBName > имя базы данных

db query error please later

В итоге теперь обновив страницу сайта я получил

MySQL Query Error: SELECT ID, SESSION_DATA FROM b_stat_session_data WHERE GUEST_MD5 = ’71dbd5e22cd7ad7065e17a7eb6940a59′ and DATE_LAST > DATE_ADD(now(), INTERVAL — 1440 SECOND) LIMIT 1 [Table ‘./edisclosure2009/b_stat_session_data’ is marked as crashed and last (automatic?) repair failed]

От сюда видно, что у меня по крошилась база данных edisclosure2009, значит ее нужно восстановить, не забудьте заново поставить $DBDebug = false, так как может дико тормозить сайт. Я для этого использую утилиту EMS SQL Manager for MySQL. Открываете ее и переходите в пункт Запустить SQL Manager for MySQL.

Ошибка db query error please try later на сайте 1С битрикс-1

Имя хоста оставляете localhost, так и должно быть, ваш порт 3306 не должен светиться наружу. Далее указываем логин и пароль от базы данных и ставим галку Использовать туннелирование.

Ошибка db query error please try later на сайте 1С битрикс-2

Задаем ip адрес или dns имя сервера к которому мы будем подключаться по ssh соединению, и указываем логин и пароль для доступа.

Ошибка db query error please try later на сайте 1С битрикс-3

Указываем имя базы данных сайта на битриксе 1С. Я еще обычно ставлю опцию Автоподключение при запуске.

Ошибка db query error please try later на сайте 1С битрикс-4

Теперь выбираете в левой части вашу базу данных и щелкаете по ней правым кликом, выбираете из контекстного меню Подключиться к базе данных.

Ошибка db query error please try later на сайте 1С битрикс-5

Все теперь выбираете базу и из меню Службы выбираете Восстановление таблиц. После не долгой процедуры вы исправите ошибку db query error please try later на сайте 1С битрикс.

Ошибка db query error please try later на сайте 1С битрикс-6

Содержание

Mysql query error: (1227)

Ошибка

Mysql query error: (1227) Access denied; you need (at least one of) the SYSTEM_VARIABLES_ADMIN or SESSION_VARIABLES_ADMIN privilege(s) for this operation (400)

Решение

GRANT SESSION_VARIABLES_ADMIN ON *.* TO 'bitrix_user'@'localhost';

Ошибка в типе содержимого

ERR_CONTENT_DECODING_FAILED

Добавить в htaccess

zlib.output_compression = on

или добавить в bitrix/php_interface/init.php (или dbconf.php)

define('BX_COMPRESSION_DISABLED',true);

Ошибка сокетов в site_checker

Причин много (корявый hosts файл, нет модуля sockets итд).

Но оказывается всё из-за того, что на /bitrix/admin/ установлен htpasswd (логин/пароль).

Браво Битрикс! Райская система. Всем рекомендую.

Не меняется memory_limit

Ещё одна дикая проблема Битрикса. Тому кто это придумал надо пожать руку, а потом оторвать её.

Не меняется memory_limit для PHP. Меняю в php.ini, меняю в htaccess, меняю где только можно, а результата нет. Смотрю phpinfo там правильный и master value и local value.

Не первый день в айти. Надо просто копнуть глубже

# grep -r --include=*.php "memory_limit" /var/www/foobar.com/

Какой-то сверх мозг в этой шайтан конторе решил, что будет весело прибить memory_limit гвоздями, потом полить супер-клеем и ещё сверху залить бетоном всё это дело. Ха-ха-ха, !@#$% смешно.

/var/www/foobar/bitrix/modules/main/admin/site_checker.php:                  @ini_set("memory_limit", "512M");
/var/www/foobar/bitrix/modules/main/classes/general/file.php:                        $memoryLimit = CUtil::Unformat(ini_get('memory_limit'));
/var/www/foobar/bitrix/modules/main/classes/general/site_checker.php:                        array('check_memory_limit' => GetMessage('SC_T_MEMORY')),
/var/www/foobar/bitrix/modules/main/classes/general/site_checker.php:        function check_memory_limit()
/var/www/foobar/bitrix/modules/main/classes/general/site_checker.php:                        $cur = ini_get('memory_limit');
/var/www/foobar/bitrix/modules/main/install/wizard/wizard.php:               $memoryLimit = WelcomeStep::unformat(ini_get('memory_limit'));
/var/www/foobar/bitrix/modules/main/install/wizard/wizard.php:                       $memoryLimit = WelcomeStep::unformat(get_cfg_var('memory_limit'));
/var/www/foobar/bitrix/modules/main/install/wizard/wizard.php:                       @ini_set("memory_limit", "64M");
/var/www/foobar/bitrix/modules/main/install/wizard/wizard.php:                       $memoryLimit = WelcomeStep::unformat(ini_get('memory_limit'));
/var/www/foobar/bitrix/modules/main/install/wizard/wizard.php:                                       '.($memoryLimit > 0 && $memoryLimit < $this->memoryMin*1048576 ? $this->ShowResult(ini_get('memory_limit'), "ERROR") : $this->ShowResult(ini_get('memory_limit'), "OK")).'
/var/www/foobar/bitrix/modules/main/install/wizard/wizard.php:                       $fileContent .= "n@ini_set("memory_limit", "1024M");n";
/var/www/foobar/bitrix/modules/main/install/wizard/wizard.php:                       $memoryLimit = WelcomeStep::unformat(ini_get('memory_limit'));
/var/www/foobar/bitrix/modules/main/install/wizard/wizard.php:                               $memoryLimit = WelcomeStep::unformat(get_cfg_var('memory_limit'));
/var/www/foobar/bitrix/modules/main/install/wizard/wizard.php:                               @ini_set("memory_limit", "512M");
/var/www/foobar/bitrix/modules/main/install/wizard/wizard.php:                               $memoryLimit = WelcomeStep::unformat(ini_get('memory_limit'));
/var/www/foobar/bitrix/modules/main/install/wizard/wizard.php:                                       $fileContent .= "n@ini_set("memory_limit", "512M");n";
/var/www/foobar/bitrix/modules/main/lang/en/admin/site_checker.php:PHP defines the memory limit in php.ini by setting the <b>memory_limit</b> parameter. However, this may be overridden on shared hostings. You should not trust this parameter.
/var/www/foobar/bitrix/modules/main/lang/en/admin/site_checker.php:The test attempts to increase the value of <b>memory_limit</b> using the code:
/var/www/foobar/bitrix/modules/main/lang/en/admin/site_checker.php:<code>ini_set(&quot;memory_limit&quot;, &quot;512M&quot;)
/var/www/foobar/bitrix/modules/main/lang/en/admin/site_checker.php:$MESS["SC_MEMORY_CHANGED"] = "The value of memory_limit was increased from #VAL0# to #VAL1# using ini_set while testing.";
/var/www/foobar/bitrix/modules/main/lang/ru/admin/site_checker.php:$MESS["SC_MEMORY_CHANGED"] = "Значение memory_limit было увеличено с #VAL0# до #VAL1# на момент тестирования через ini_set.";
/var/www/foobar/bitrix/modules/main/lang/ru/admin/site_checker.php:Основной параметр ограничения памяти в php.ini - это <b>memory_limit</b>. Но доверять значению параметра нельзя, т.к. на хостингах могут быть установлены дополнительные ограничения памяти.
/var/www/foobar/bitrix/modules/main/lang/ru/admin/site_checker.php:Обратите внимание, тест пытается увеличить значение <b>memory_limit</b> используя код:
/var/www/foobar/bitrix/modules/main/lang/ru/admin/site_checker.php:<code>ini_set(&quot;memory_limit&quot;, &quot;512M&quot;)
/var/www/foobar/bitrix/php_interface/dbconn.php:@ini_set("memory_limit", "128M");
/var/www/foobar/cli/parse_list.php:ini_set('memory_limit', '2048M');
/var/www/foobar/local/php_interface/dbconn.example.php:@ini_set("memory_limit", "128M");

Вот почему у меня парсер в админке не работал. Из-за 128M memory_limit. Даже не знаю какой мемчик бы подошёл для этой ситуации лучше — Друзь с его вы там ох!@#$% или Винни Пух ныряющий в болото. Битрикс💩, а WordPress, Joomla, Drupal по сравнению с этим платным💩 просто топчик.

DB query error. Please try later

В файле /bitrix/php_interface/dbconn.php установить

$DBDebug = true;

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

The script encountered an error

The script encountered an error and will be aborted. To view extended error messages, enable this feature in .settings.php.

Установить ‘debug’ ⇒ true в bitrix/.settings.php (в старых версиях bitrix/php_interface/dbconn.php).

This website uses cookies. By using the website, you agree with storing cookies on your computer. Also you acknowledge that you have read and understand our Privacy Policy. If you do not agree leave the website.More information about cookies

Рассказываем, почему появляется ошибка «DB query error» и как ее исправить на панели управления хостингом.

Ошибка «DB query error» связана с базой данных и обычно возникает после переноса проекта на другой хостинг, когда неверно указывают путь или ссылаются не на ту базу данных. Так выглядит ошибка в браузере при открытии сайта:

Другими вариантами возникновения «DB query error» могут быть:

  • Недостаточно свободного места на тарифе.

  • Ошибки в базе данных.

В статье расскажем, как исправить ошибку «DB query error» для сайтов на 1С-Битрикс из панели хостинга Reddock.

Недостаточно свободного места на тарифе

Для исправления ошибки на виртуальном хостинге перейдите в панель управления услугой.

На главной странице в блоке «Ограничения» в строке «Диск» проверьте, сколько осталось доступного места. Если доступного места достаточно, цвет текста будет зеленым. Если недостаточным — красным.

Для исправления ошибки на виртуальном или выделенном сервере перейдите в панель управления услугой под srv-admin. На главной странице в области «RED.Monitoring» отображены ресурсы сервера.

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

  • Для удаления файлов убедитесь, что они действительно не нужны для полноценной работы сайта. Примером таких файлов могут быть устаревшие резервные копии или кэш. Они удаляются в панели управления хостингом, в Менеджере файлов.

  • Для увеличения дискового пространства перейдите в личный кабинет и закажите дополнительные ресурсы для вашего тарифа.

Превышение максимально разрешенного количества подключений

Если на тарифе хостинга достаточно свободного пространства, возможно превышено максимально разрешенное количество подключений.

Это исправляется в панели управления перейдите в Главное (1) → Менеджер файлов (2). Выберите файл «dbconn.php» и нажмите «Изменить».

В строке «$DBDebug» замените «false» на «true», а после откройте ваш сайт. Если ошибки есть, то в браузере будет отображено сообщение ошибки mysql с кодом 1040.

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

По всем вопросам будем рады помочь. Напишите нам — с радостью ответим. Способы связи:

  • через личный кабинет,

  • по почте support@reddock.ru,

  • по телефону +7 (495) 008-31-24 или +7 (351) 225-64-56.

Не пропустите новые материалы и обновления — подпишитесь на нас в любимой соцсети: Instagram, ВКонтакте или Facebook.

Понравилась статья? Поделить с друзьями:
  • Mysql query error 2006 mysql server has gone away 400 select
  • Mysql query error 2006 mysql server has gone away 400 bitrix
  • Mysql query error 1366 incorrect string value
  • Mysql query error 1205 lock wait timeout exceeded try restarting transaction
  • Mysql query error 1064