25 марта 2024
51

После обновления ядра 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/):

  1. Перейти в папки модулей (например, /bitrix/modules/название модуля/vendor)
  2. Обновить сomposer командой:
composer upgrade

После проделанных операций ошибка была устранена.

Позвоните нам!
Личный кабинет
Вам будет доступна история заказов, управление рассылками, свои цены и скидки для постоянных клиентов и прочее.
Ваш логин
Ваш пароль