В административном интерфейсе коробочных версий продуктов «1С-Битрикс» вы могли заметить такое уведомление:
С 01.02.2023 будет ограничена поддержка наших продуктов на PHP версии ниже 8.0. Рекомендуемая версии PHP – 8.1 или выше. Вы используете версию PHP 7.4.33. Пожалуйста, запланируйте обновление PHP или обратитесь в техническую поддержку вашего хостинга.Версия PHP 7.х объявлена устаревшей и больше не поддерживается, для неё не выпускаются исправления функциональных ошибок и ошибок безопасности. Использование версий PHP ниже 8 крайне не рекомендовано.
Вы не сможете установить обновления коробочных версий продуктов «1С-Битрикс» для исправления ошибок и получения нового функционала, пока не обновите PHP до минимальной версии 8.0 или рекомендованной 8.1 в своем серверном окружении.
Запланируйте обновление PHP до минимальной версии 8.0 или до рекомендуемой PHP 8.1 в самое ближайшее время.
Обновление версии PHP необходимо произвести поэтапно. Для этого обратитесь к вашему системному администратору или в техподдержку вашего хостинга.
Обязательно создайте резервную копию вашей установки. Это может быть как резервная копия средствами продукта, так и полностью всего сервера, например виртуальной машины VMBitrix.
Обновите ядро и все модули продукта до последних доступных версий в разделе Настройки > Marketplace > Обновление платформы.
Обновите все сторонние решения из Маркетплейса до последних доступных версий в разделе Настройки > Marketplace > Обновление решений.
Обновите версию PHP до минимальной 8.0 или рекомендованной 8.1 на своем сервере.
Если вы используете виртуальную машину VMBitrix, то обновить PHP можно через меню VMBitrix: 1. Manage servers in the pool - 8. Update PHP and MySQL. Подробнее читайте в отдельном курсе.Если после обновлений PHP появятся ошибки в работе стандартных модулей продуктов «1С-Битрикс», то обратитесь в нашу службу поддержки или в 1С Битрикс.
По ошибкам в сторонних модулях из Маркетплейса обращайтесь к разработчикам модуля или в нашу службу поддержки
/bitrix/modules
.Стоить отметить, что в примерах даны лишь решения ошибок для конкретного модуля. Каждая ошибка должна рассматриваться разработчиком индивидуально.
Ошибка может появиться после повышения версии PHP до 8.0 и выше. Сайт при этом работает, но установить или обновить другие решения нельзя, пока сохраняется ошибка.
Исправление в общем случае будет таким: в файле /bitrix/modules/<имя.модуля>/install/index.php
код:
function <имя.модуля>()заменить на:
function __construct()
Подключиться по FTP/SFTP или зайти в панель хостинга, включить вывод ошибок в файле /bitrix/.settings.php
:
'debug' => true,
После чего на сайте будет выведен текст ошибки:
Пример ошибкиNon-static method Super\Functions\CSuperModRep::checkBack() cannot be called statically (0) /home/bitrix/modules/super.mod/lib/functions/CSuperModRep.php:52 #0: Super\Functions\CSuperModRep::checkRepActive() /home/bitrix/modules/super.mod/classes/general/CModEvents.php:1621 #1: CModEvents::OnPageStartHandler() /home/bitrix/modules/main/classes/general/module.php:480 #2: ExecuteModuleEventEx(array) /home/bitrix/modules/main/include.php:163 #3: require_once(string) /home/bitrix/modules/main/include/prolog_before.php:14 #4: require_once(string) /home/bitrix/modules/main/include/prolog.php:10 #5: require_once(string) /home/bitrix/header.php:1 #6: require(string) /home/index.php:1
В примере видно, что ошибку отдает сторонний метод CSuperModRep::checkBack()
решения super.mod.
Исправление в общем случае будет таким: в коде checkBack()
нужно правильно объявить статическую функцию:
function checkBack()заменить на:
public static function checkBack()
Данная ошибка может появиться после повышения версии PHP до 8.x в случае, если не были установлены все доступные обновления платформы на версии PHP 7.x.
Эта ошибка была исправлена в обновлении главного модуля main 22.100.0
.
Поэтому необходимо понизить версию PHP до 7.x, произвести обновление продукта и модулей до последней доступной версии. И только потом повысить версию PHP до 8.х.
Эта ошибка может появиться после повышения версии PHP до 8, но уже не очень очевидна:
Пример ошибки[TypeError] call_user_func_array(): Argument #1 ($callback) must be a valid callback, non-static method COMP\BXE\EventHandlers::AdminContextMenuShow() cannot be called statically (0) /var/www//bitrix/modules/main/classes/general/module.php:480 #0: ExecuteModuleEventEx /var/www/bitrix/modules/main/interface/admin_ui_list.php:1983 #1: CAdminUiContextMenu->Show /var/www/bitrix/modules/main/interface/admin_ui_list.php:1168 #2: CAdminUiList->ShowContext /var/www/bitrix/modules/main/interface/admin_ui_list.php:630 #3: CAdminUiList->DisplayFilter /var/www/bitrix/modules/iblock/admin/iblock_element_admin.php:5217 #4: include(string) /var/www/bitrix/admin/cat_product_admin.php:3
Из текста ошибки сразу не узнать директорию модуля, но данный метод COMP\BXE\EventHandlers::AdminContextMenuShow()
принадлежит стороннему модулю.
Исправление в общем случае будет таким: в коде AdminContextMenuShow()
нужно правильно объявить статическую функцию:
function AdminContextMenuShow()заменить на:
public static function AdminContextMenuShow()
short_open_tag = Off
.short_open_tag = On
.150 +
Запущенных проектов
В год мы запускаем более 150 сайтов и магазинов.
50 +
Продвинутых сайтов
Ежегодно мы продвигаем более 50 сайтов.
80 +
Рекомендаций
Ежегодно более 80 клиентов приходят по рекомендации.
14 +
Лет работаем
Мы работаем в области создания и продвижения сайтов с 2008 года
Веб-форма не найдена.