MySQL server has gone away - решение проблемы, один из вариантов
Запись от 16.09.2014
Недавно столкнулся с такой проблемой и решил здесь поделиться решением, которое нашел в интернете.
Вкратце опишу, где встретилась такая ошибка: на сайте есть модуль парсера, сначала он собирает данные, а затем загружает их в инфоблоки. Так вот малое количество данных успешно загружалось, а вот большое на строке с CIBlockElement::GetList выдавало ошибку "MySQL server has gone away".
Не сразу понял в чем дело, но в итоге разобрался - MySQL сбрасывал соединение, т.к. долго не было подключения к базе после подключения к серверу (или как-то так, не силен в терминологии).
В общем решение вот такое - в файле "bitrix/php_interface/after_connect.php" нужно добавить строку:
Число в скобках - это количество секунд ожидания подключения.
Вкратце опишу, где встретилась такая ошибка: на сайте есть модуль парсера, сначала он собирает данные, а затем загружает их в инфоблоки. Так вот малое количество данных успешно загружалось, а вот большое на строке с CIBlockElement::GetList выдавало ошибку "MySQL server has gone away".
Не сразу понял в чем дело, но в итоге разобрался - MySQL сбрасывал соединение, т.к. долго не было подключения к базе после подключения к серверу (или как-то так, не силен в терминологии).
В общем решение вот такое - в файле "bitrix/php_interface/after_connect.php" нужно добавить строку:
$DB->Query("SET wait_timeout=28800");
Число в скобках - это количество секунд ожидания подключения.