После смены PHP сайт часто «умирает» не из-за новой версии языка. Ломается код, который годы работал на предупреждениях: в массив пришёл null, в ORM утащили все поля, метод вызвали как статический.
Почему вскрывается именно на обновлении
То, что раньше давало warning в логе, теперь фатал и белый экран. Миграцию планируйте как ревизию кастома, не как «переключить версию в панели хостинга».
ORM: широкая выборка
Запрос без select тянет текстовые поля, служебные колонки и связи. На списке пользователей или сделок это сразу память и диск.
На чём считать результат
На журнале сделок или элементах инфоблока получаете Allowed memory size exhausted.
JOIN и runtime-поля
Константу в условие связи лучше класть через SqlExpression, а не «число в reference наугад». Сложный запрос смотрите итоговым SQL, не по ощущению.
Сигнатуры и «статический» вызов
Переопределённый метод должен совпадать с интерфейсом: типы аргументов, возврат, nullable. Старые библиотеки без типов падают только после смены PHP. Соседняя инструкция по версии PHP в продукте: переход на PHP 8.x.
Если нужно пройти кастом у вас на копии: пакет доработок.
