Версия ядра Drupal 10.2 уже рекомендовала к установке на сервере PHP версии 8.2 или выше. На данный момент есть версия 8.3, но я остановился всё таки на 8.2.
Итак, на момент установки веб сервера и ядра Drupal 10 версия PHP 8 отсутствовала в официальных репозиториях Debian. Для установки данной версии необходимо было подключить репозиторий под именем Sury - репозиторий созданный одним из разработчиков Debian.
Для этого необходимо выполнить команду:
echo "deb https://packages.sury.org/php/ $(lsb_release -sc) main" | sudo tee /etc/apt/sources.list.d/sury-php.list
Либо в ручную создать файл с именем sury-php.list в каталоге /etc/apt/sources.list.d/
Далее вписать в него адрес репозитория
deb https://packages.sury.org/php/ bullseye main
Далее положить или обновить каталоге /etc/apt/trusted.gpg.d/ файл с именем apt.gpg
Запустите из указанного выше каталога команду:
wget https://packages.sury.org/php/apt.gpg
После этого необходимо обновить индекс пакетов:
apt update
В списках репозиториев можно увидеть успешно добавленный репозиторий Sury. В репозитории Sury присутствует несколько версии PHP 8 - 8.1 / 8.2 и 8.3. Можно выбрать любую из них или установить сразу обе. В качестве примера будет установлена версия 8.2. Для этого необходимо выполнить команду:
apt install php8.2
Для проверки корректной установки версии PHP 8.2 необходимо выполнить команду:
php -v
Для просмотра какие версии ещё установлены на сервере:
ls /etc/apache2/mods-available/ | grep php
Установите пакеты поддерживаемого в настоящее время и рекомендуемого выпуска PHP 8.2 на сервере:
apt install php8.2 php8.2-cli php8.2-common php8.2-curl php8.2-gd php8.2-mbstring php8.2-mysql php8.2-opcache php8.2-readline php8.2-sqlite3 php8.2-xml php8.2-zip php8.2-apcu
Далее необходимо отключить используемую системой Drupal версию PHP 8.1.
a2dismod php8.1
Перезапустить веб сервер systemctl restart apache2
При необходимости включить версию PHP 8.2
a2enmod php8.2