1c bitrix постоянно развивается и для получения новых обновлений требуется более современная версия PHP. Вот и сейчас с февраля 2023 года, для получения обновлений требуется работа хостинга на версии PHP 8.0 и выше. Отметим, что само ядро 1c bitrix поддерживает PHP 8 и никаких ошибок при обновлении не вызывает. В основном возникают проблемы с не обновленными модулями или модулями к которым более не выпускают обновления. Поэтому при смене версии PHP на хостинге с 7.4 на 8.1, появляется ошибка, пример:
[TypeError] call_user_func_array(): Argument #1 ($callback) must be a valid callback, non-static method ISYS\BXE\EventHandlers::AdminContextMenuShow() cannot be called statically (0) /var/www/user3242342/data/www/ваш сайт.ru/bitrix/modules/main/classes/general/module.php:48
Так как данная ошибка возникает из за модуля, нам необходимо найти этот модуль.
Заходим через любой FTP клиент на хостинг сайта и переходим в папку - /bitrix/modules/.
Далее ищем папку с нашим модулем. У вас может быть ошибка вызвана другим модулем, соответственно Вам необходимо будет искать другую папку. У нас была ошибка со следующим содержанием: ISYS\BXE\EventHandlers. Поэтому мы ищем папку ISYS\BXE\. Она отмечена на изображении.
Переходим в эту папку и ищем последнюю часть из описания ошибки, а именно из ISYS\BXE\EventHandlers ищем файл с названием EventHandlers. Он может быть в любой папке, мы нашли его в папка Lib.
Открываем этот файл и перед каждым словом function пишем static, должно получиться из function AdminContextMenuShow(&$CAdminUiListContext), данная надпись static function AdminContextMenuShow(&$CAdminUiListContext). В данном модуле было 3 функции, и перед каждой функцией необходимо было написать static.
После этого сохраняем файл. Ошибка должна уйти.
Если статья была полезна, подпишитесь на нашу группу в VK
Текущие проекты
Компании на техподдержке
наших клиентов по рекомендациям
Сайтов создано