Выявил проблему с некоторыми сборками php

Рейтинг: 0  
Внедрено
Предложил Швед Андрей 05.06.2014 12:30:15

Выявил проблему с некоторыми сборками php

на одном из хостингов где расположен сайт на Битрикс выявил ошибку:
в файле: bitrix/components/bitrix/catalog.section/component.php:817
не отрабатывается метод method_exists

в этой строке в редакции старт обращается к не существующему классу и на конкретном хостинге происходит падение php и браузеру возвращается ответ нулевой длины.

фрагмент отработаной с ошибкой:
if (!empty($arResult["ELEMENTS"]))
{
          if (method_exists('CCatalogDiscount', 'SetProductSectionsCache'))
             CCatalogDiscount::SetProductSectionsCache($arResult["ELEMENTS"]);

}
Решение ошибки: предварительно проверить существование класса:
if (!empty($arResult["ELEMENTS"]))
{
       if (class_exists('CCatalogDiscount')){
          if (method_exists('CCatalogDiscount', 'SetProductSectionsCache'))
               CCatalogDiscount::SetProductSectionsCache($arResult["ELEMENTS"]);
       }
}

Прошу принять во внимает Существование проблемы.
Рейтинг: 0  
Ответил Жуков Евгений 05.06.2014 12:57:18
Андрей, обновите модуль инфоблоков - эта проблема давно решена. Кроме того, основная причина такой ошибки - некорректная сборка php.