В последние время часто встречался с задачей перевести обновления версии PHP для последующего обновления 1С Битрикс.
При переходе на PHP 8.2 с более ранних версий возникает ошибка
call_user_func_array(): Argument #1 ($function) must be a valid callback, non-static method НазваниеМодуля::МетодКласса() cannot be called statically (0).
Необходимо найти код данного модуля, определиться с классом в котором возникает данная ошибка и к данному классу приписать служебное слово static, примерно так: static function МетодКласса(). Тут и начинается веселье потому, что я еще ни разу не находил в ручном режиме этот самый код.
Скрипт вывода пути к файлу где описан код класса
<? $className = 'Errors'; // Замените на имя вашего класса $reflect = new ReflectionClass($className); echo $reflect->getFileName(); // Выводит путь к файлу ?>
Комментарии