Как добавить альтернативные версии PHP 7.4/7.3/7.2/7.1 в Debian 9/10
Недавно на старом 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
Если помог, оставляйте ваши спасибо в комментариях 🙂
Отблагдарить автора статьи также можно переводом, +100 вам в карму!
4 комментария
В PHP 7 добавлена поддержка объявления возвращаемого типа. Аналогично как и объявления типов аргументов, объявление типа возвращаемого значения указывает, значение какого типа должна вернуть функция. Для объявления типа возвращаемого значения доступны все те же типы, что и для объявления типов аргументов. Можно определить константу типа array с помощью функции define(). В PHP 5.6 такие константы можно было задавать только с помощью
Альтернативный метод (необязательно). Чтобы автоматически установить версию phpize на основе версии php, установленной на вашем компьютере, выполните следующую команду. Эта команда автоматически обнаружит соответствующую версию установленного php и установит соответствующий phpize для того же.
Супер давно искал
Огромное тебе СПАСИБО