После обновления ядра 1С-Битрикс столкнулись с ошибкой:
[ErrorException] E_COMPILE_ERROR
Declaration of Bitrix\Main\Web\Http\Stream::close() must be compatible with Psr\Http\Message\StreamInterface::close(): void (0)
/home/bitrix/www/bitrix/modules/main/lib/web/http/stream.php:64
----------
Написали запрос в техподдержку 1С-Битрикс и получили ответ:
Ситуация заключается в устаревших библиотеках composer в используемых сторонних модулях.
По умолчанию Битрикс использует библиотеки composer, которые находятся в папке /bitrix/modules/main/vendor/psr/
Но создатели сторонних модулей могут включать подобные библиотеки в свои сборки.
В данном случае рекомендуется проверить доступные обновления для всех сторонних модулей на странице Marketplace > Установленные решения
Как вариант, вы можете развернуть резервную копию сайта на тестовом домене, чтобы мы могли провести диагностику и отключить сторонние модули, не нарушая работу основного сайта. Это даст вам понимание какие сторонние модули мешают работе сайта из-за устаревшего composer.
Альтернативно, вы можете самостоятельно найти и обновить все сторонние composer через консоль сервера, как это описано на форуме (https://dev.1c-bitrix.ru/community/forums/forum6/topic155232/):
- Перейти в папки модулей (например, /bitrix/modules/название модуля/vendor)
- Обновить сomposer командой:
composer upgrade
После проделанных операций ошибка была устранена.