PHP Fatal error: ob_end_clean(): Cannot use output buffering in output buffering display handlers in /home/bitrix/ext_www/_____________/bitrix/modules/main/classes/general/main.php on line 3113
UPD ошибка оказалась в:
использовании функций буферизации ob_* в шаблоне компонента breadcrumb
в init.php подключался файл, где использовался $cache->StartDataCache, который использует буферизацию (ob_start и ob_end_clean).
в событии OnEndBufferContent нельзя использовать конструкции вида ob_start(), вызывающую ошибку при этом: ob_start(): Cannot use output buffering in output buffering display handlers (0) - а следовательно в обработчике событий OnEndBufferContent не допускается использовать старый d0 класс CPHPCache, который вызывает ob_start() у себя под капотом.
Решение - использовать класс d7 \Bitrix\Main\Data\Cache с вызовом \Bitrix\Main\Data\Cache::noOutput() перед запуском \Bitrix\Main\Data\Cache::startDataCache() ну или использовать хак-магию доступа к приватному члену класса CPHPCache
Обратите внимание, что в событии OnEndBufferContent нельзя использовать конструкции вида ob_start(), вызывающую ошибку при этом: ob_start(): Cannot use output buffering in output buffering display handlers (0)
а следовательно в обработчике событий OnEndBufferContent не допускается использовать старый d0 класс CPHPCache, который вызывает ob_start() у себя под капотом.
Решение - использовать класс d7 \Bitrix\Main\Data\Cache с вызовом \Bitrix\Main\Data\Cache::noOutput() перед запуском \Bitrix\Main\Data\Cache::startDataCache()
Группы на сайте создаются не только сотрудниками «1С-Битрикс», но и партнерами компании. Поэтому мнения участников групп могут не совпадать с позицией компании «1С-Битрикс».