Обновление PHP до версии 8.2 для веб-сервера с Drupal 10

3 / 4 / 2024
admin
Теги
blog
debian
drupal

Версия ядра 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