Как обновить битрикс, если модуль выдает 504

Иногда возникает проблема - при попытке выполнить обновление системы(особенно для старых версий) страница обновления падает с 504 ошибкой. Причиной тому является высокое время обработки запроса(типа слишком много обновлений и всё такое). Эта проблема может решаться одним из двух путей:

- Попробуйте добавить в файл /bitrix/php_interface/after_connect.php следующую строчку:

$DB->Query("SET wait_timeout=28800");

и в /bitrix/php_interface/after_connect_d7.php:

$connection->queryExecute("SET wait_timeout=28800");

- Если предыдущий способ не смог разрешить проблему, то можно попробовать сделать иначе. В файле /bitrix/modules/main/classes/general/update_class.php есть функция __parse(строка примерно 4158). Её задача получать и парсить результат. Находим место, где парсится строка, и вставляем перед циклом регулярку, которая вырезает все description-ы: http://joxi.ru/DmB73v1sJJV9Z2. В данном случае используется конструкция:

$strXMLText = &preg_replace("#(<description>(.*?)<\/description>)#is", "", $strXMLText);

Обычно это помогает. Если найдете другие эффективные способы решить данную проблему - пишите сюда :)