При възникване на грешки в заявките към базата данни на екрана се показва съобщение от вида:
Стандартния вид на това съобщение се определя във файла /bitrix/php_interface/dbquery_error.php.
Понякога възниква ситуация, когато сайта престава да отговаря, и
посетителите виждат празна страница. В този случай се препоръчва да се
отвори файл bitrix/php_interface/dbconn.php
, съдържащ параметри на съединението с базата данни, и да се включи значение на параметъра $DBDebug = true;
<?
define("DBPersistent", true);
$DBType = "mysql";
$DBHost = "localhost:31006";
$DBLogin = "root";
$DBPassword = "";
$DBName = "bsm_demo";
$DBDebug = true;
$DBDebugToFile = false;
set_time_limit(60);
define("BX_FILE_PERMISSIONS", 0644);
define("BX_DIR_PERMISSIONS", 0755);
@ini_set("memory_limit", "64M");
?>
В резултат ще бъде получен кода на грешката, съдържащ, обикновено названията на повредените таблици от базата данни.
Пускането на утилита perror.exe
с кода на грешката (файл perror.exe
се съхранява в каталога mysqlbin
) и позволява да се получи описание на грешката по нейния код:
Ако става на въпрос за повреда в базата данни, то се препоръчва използване на вградения инструмент на системата за проверка и възстановяване на базата данни. Използването на скрипта за проверка и възстановяване на базата данни позволява оперативно да се възстанови работата на сайта.
Настройки -> Инструменти -> Проверка на БД.
В случай, че са повредени таблиците на статистиката и няма
възможност да се премине към административния раздел, сбора на
статистиката може да бъде временно изключен с помощта на параметъра ?no_keep_statistic_LICENSE-KEY=Y
. В параметъра се въвежда лицензионния ключ на сайта.
Съществува възможност за използване на скрипта за проверка и възстановяване на базата данни без преход към административния раздел.
За целта при обръщане към страницата за възстановяване е необходимо да се въведат два параметъра: име (login) и парола (password) за достъп до базата данни. Например:http://www.mysite.ru/bitrix/admin/repair_db.php?login=DB_Login&password=DB_Password
. По подразбиране значенията на тези параметри се съхраняват във файла /bitrix/php_interface/dbconn.php
. Проблем:
На екрана се показва грешка:
|
Решение:
Трябва да се увеличи обема на паметта в настройките на MySQL.
Препоръчва се използване на следните параметри в MySQL, определяйки ги в конфигурационния файл MySQL my.cnf:
key_buffer = 128K
max_allowed_packet = 16M
table_cache = 4
sort_buffer_size = 128K
read_buffer_size = 128K
read_rnd_buffer_size = 128K
net_buffer_length = 128K
thread_stack = 128K
След промените на параметрите е необходимо да се рестартира MySQL.