1С-Битрикс и PHP 8: Non-static method cannot be called statically
Дополнительно к предыдущему материалу рассмотрим еще одну проблему совместимости в функционировании внешних модулей 1С-Битрикс, который может проявиться при обновлении PHP до версии 8.
Non-static method CUser::GetID() cannot be called statically (0)
/bitrix/components/компонент/component.php: 5
...
Это сообщение об ошибке указывает на то, что в этой части кода статически вызывается метод, который не является статическим и не может быть вызван таким способом.
Для устранения ошибки, открываем файл /bitrix/components/компонент/component.php и на 5 строке видим следующий код:
$USER_MW_ID = $cash->get_usersubid(CUser::GetID());
Заменяем его на:
global $USER;
$USER_SUB_ID = $cashback->get_usersubid($USER->GetID());