Устранение ошибок Битрикс после обновления PHP до 8.2

Выпала задача обновить на одном из сайтов PHP с 7.3 до 8.2. на операционной системе RedOS. Далее что делал.

Обновление PHP

Обновление БД

Далее необходимо из панели администратора обновить ядро и сторонние решения до актуальных версий.

После чего лично у меня стала вылезать ошибка вида:

На строки в коде вида:

А всё просто. Если в PHP 7.3 допустимо было так обращаться к переменным не являющимися массивами, то в PHP 8.2, где введено более строгое отношение к типизации, так уже нельзя. Поэтому все подобные конструкции нужно заменить на вида:

Ну или я просто поискал все подобные конструкции которые встречаются в файле и в шапку добавил:

RedOS: обновление httpd из исходников

Как оказалось (по советам данным на linux.org.ru), наиболее правильным вариантом обновления существующей инсталляции httpd, является «опакечивание» исходных кодов в rpm, а затем штатная его установка. В этом случаем мы избавляемся от проблем с выбором правильных ключей и путей, которые пришлось бы устанавливать руками при компиляции/сборке httpd из исходников. Итак поехали:

Сначала как обычно подготовим среду сборки:

Затем создадим структуру каталогов для сборки:

Далее скачиваем исходные коды httpd:

И теперь «опакечиваем» их в rpm:

Если сборка вываливается с ошибками, то необходимо смотреть файл config.log и до устанавливать необходимые зависимости (смотря на что ругается)

Если сборка прошла успешно, то в папке ~/rpmbuild/RPMS/x86_64 будут пакеты готовые к установке. Устанавливать их можно штатно:

ключ —force в данном случае нужен для того, чтобы установщик не ругался на уже существующие файлы настройки httpd (вот тут осторожно! лучше сначала попробовать без этого ключа и посмотреть ошибки)

Убедимся что версия обновилась:

обновление httpd из исходников

Вот и всё, остается перезапустить сервис httpd

Установка OpenSSH из исходных кодов на RedOS

Задача: необходимо обновить существующую установку демона sshd на ОС RedOS (установка sshd из исходников).

Решение:

Подготавливаю необходимый инструментарий и окружение:

Скачиваю на сайте https://cdn.openbsd.org/pub/OpenBSD/OpenSSH/portable/ необходимую версию sshd, распаковываем её в папку и переходим в неё:

Конфигурируем, cобираем, устанавливаем:

После установки нужно перестартовать демон и посмотреть версию sshd:

установка sshd из исходников

Ошибка обновления Ubuntu с 20.04 до 22.04

При попытке выполнить do-release-upgrade, получаем ошибку:

Решение:

В моём случае в логах проскочило:

Так-же можно проверить «тухлость» сертификата при помощи:

Рекомендация обновить корневые сертификаты не помогла. Одно из решений — отключить проверку сертификатов при обновлении вообще. Для этого нужно отредактировать файл /usr/lib/python3/dist-packages/UpdateManager/Core/MetaRelease.py, добавив в него строки:

После чего обновление прошло штатно.

Обновление Android Studio с версии 2.8 до 3.1

Ну не всё прошло гладко.. Скачаная с гугла инсталяшка под Linux так и не заработала. Многочисленные не понятные ошибки при компиляции проектов.. Заработал тольво вариант с установкой из ppa.

Но и после этого «сразу» не заработало для старых проектов. Лечим ошибку «Error:Failed to complete Gradle execution.Cause:Write access is allowed from event dispatch thread only»

1) Удаляем папку .gradle из проекта
2) В (File -> Project Structure -> SDK Location) ставим галку «Use embedded JDK»




1 2