Возникла сложность с развертыванием бэкапа сайта (вместе с базой) работающего под php 8.0 на свежем - 8.2 версии.

Warning: Undefined array key "d_pos" in /http/site/restore.php on line 792

Warning: Undefined array key "LocalCloud" in /http/site/restore.php on line 797
Fatal error: Uncaught mysqli_sql_exception: Unknown database 'site_sm' in /http/site/restore.php:1663 Stack trace:
#0 /http/site/restore.php(1663): mysqli_select_db()
#1 /http/site/restore.php(799): CDBRestore->Connect()
#2 {main} thrown in /http/site/restore.php on line 1663

Если верить официальному заявлению компании разработчика, то требуется php минимум 7.4. 

Кхм! как-же так? а всё довольно просто если взглянуть на этот "волшебный" код.

Скачиваемый (18.05.2023) с официального сервера компании разработчика скрипт "восстановления" restore.php содержит ошибку (и даже не одну а много). Взглянем ровно на те строчки о которых нам говорит стектрейс.

undefined

Мы обнаруживаем применение функции mysql_select_db либо mysqli_select_db 

открываем официальную документацию на php.net и видим сноску красным

Внимание
Данный модуль устарел, начиная с версии PHP 5.5.0, и удалён в PHP 7.0.0. Используйте вместо него MySQLi или PDO_MySQL.

Хороший тон прочитать: что в новой версии меняется и что отваливается совсем, дабы сделать необходимые code-changes. А еще лучший тон: взять и организовать внутреннее тестирование. Иже Unit-tests.

Идем далее и читаем документацию по следующей, более новой функции (которую РЕКОМЕНДУЮТ пользовать).

undefined

Т.е. она может выкидывать исключения (что у нас и происходит! либо возвращать булево значение (что ожидает этот код). Ок, открываем документацию на следующую функцию задающую режим обработки ошибок БД.

undefined

т.е. начиная с 8.1 версии php дефолтовое значение было изменено. Поиск строк текста содержащих эти константы по restore.php не возвращает нам задание режима работы. Просто пусто!

Рецепт починки прост - дописать в функцию Connect кода  restore.php всего 1 строчку.

undefined

судя по оставшемуся коду далее в этом файле - она везде расчитывает на булев возврат из функций mysql* а не работу с исключениями.

Такое вот оно :(