Как добавить альтернативные версии PHP 7.4/7.3/7.2/7.1 в Debian 9/10

Как добавить альтернативные версии PHP 7.4/7.3/7.2/7.1 в Debian 9/10

14.10.2020 Linux 2

Недавно на старом Debian сервере обновлял GLPI с версии 9.3 до 9.5. В процессе апгрейда выяснилось, что надо обновлять и версию PHP, иначе GLPI ругался:

PHP >= 7.2.0 required

Однако apt search php | grep 7 не предложил никаких версий PHP, кроме версии 7.0. К слову, всё это происходило на следующей версии Debian:

lsb_release -a
No LSB modules are available.
Distributor ID: Debian
Description: Debian GNU/Linux 9.13 (stretch)
Release: 9.13
Codename: stretch

Далее, я пробежался по следующей инструкции How To Install PHP 7.4 / 7.3 / 7.2 / 7.1 on Debian 10 / Debian 9. Все команды выполняю от root

apt install -y curl wget gnupg2 ca-certificates lsb-release apt-transport-https 

Добавляем репозитарий и ключи

wget https://packages.sury.org/php/apt.gpg
apt-key add apt.gpg
echo deb https://packages.sury.org/php/ $(lsb_release -sc) main | sudo tee /etc/apt/sources.list.d/php7.list 

Обновляем список пакетов

apt update

Устанавливаем PHP версии 7.4, последнюю на данный момент

apt install -y php7.4 php7.4-cli php7.4-common 

Устанавливаем эту версию по умолчанию

update-alternatives --set php /usr/bin/php7.4 php -v 

Перегружаем Apache, хотя этого не требовалось

service apache2 reload

Однако, GLPI всё ещё продолжал ругаться, что ему нужен PHP 7.2 и старше, а значит надо включить эту версию в Apache и отключить старую. Поэтому в конце обязательно надо сделать:

a2enmod php7.4
a2dismod php7.0
service apache2 reload

Ну и вот вся история по установке PHP 7.4. Отдельно для GLPI потребуются многие расширения php, поэтому можете установить их разом с помощью

apt install libapache2-mod-php7.4 php7.4-bcmath php7.4-bz2 php7.4-cli php7.4-common php7.4-curl php7.4-gd php7.4-intl php7.4-json php7.4-ldap php7.4-mbstring php7.4-mysql php7.4-opcache php7.4-readline php7.4-xml php7.4-xmlrpc php7.4-zip

Ну и в конце подчистить с помощью

apt autoremove

Если помог, оставляйте ваши спасибо в комментариях 🙂

 

2 комментария

  1. Мирена Краснодар:

    В PHP 7 добавлена поддержка объявления возвращаемого типа. Аналогично как и объявления типов аргументов, объявление типа возвращаемого значения указывает, значение какого типа должна вернуть функция. Для объявления типа возвращаемого значения доступны все те же типы, что и для объявления типов аргументов. Можно определить константу типа array с помощью функции define(). В PHP 5.6 такие константы можно было задавать только с помощью

  2. Александр:

    Альтернативный метод (необязательно). Чтобы автоматически установить версию phpize на основе версии php, установленной на вашем компьютере, выполните следующую команду. Эта команда автоматически обнаружит соответствующую версию установленного php и установит соответствующий phpize для того же.

Добавить комментарий

Ваш адрес email не будет опубликован. Обязательные поля помечены *