Установка разных версий PHP на Linux Debian

Обновлено Обновлено: Опубликовано Опубликовано:

В Debian можно легко управлять несколькими версиями PHP. Мы рассмотрим процесс установки разных версий пакетов и управления ими.

Установка PHP

В зависимости от необходимой версии PHP и версии Debian, подход к установке может отличаться.

Установка базовой версии

Это самый простой способ. Каждая версия Debian в своем репозитории содержит соответствующую версию PHP.

Посмотреть, какая версия будет установлена из репозитория системы можно командой:

apt search --names-only '^php[.0-9]{3}$'

Установка выполняется одной командой:

apt install php

Установка определенной версии

Если нам необходима версия PHP, которой нет в репозитории сисемы, выполняем установку дополнительного — sury.org.

Сначала установим следующие пакеты:

apt install lsb-release ca-certificates apt-transport-https software-properties-common gnupg2 curl

* где:

  • lsb-release — для определения версии релиза операционной системы.
  • ca-certificates — набор корневых сертификатов.
  • apt-transport-https — дополнение для возможности использовать репозитории по https.
  • software-properties-common — утилита для работы с репозиториями.
  • gnupg2 — для шифровки и дешифровки цифровых подписей. Нужна для работы с репозиториями.
  • curl — программа для отправки http-запросов. Нам нужна для загрузки ключа репозитория

Установим gpg-ключ репозитория sury.org:

curl -sSLo /usr/share/keyrings/deb.sury.org-php.gpg https://packages.sury.org/php/apt.gpg

Создадим конфигурационный файл с настройкой репозитория sury.org:

echo "deb [signed-by=/usr/share/keyrings/deb.sury.org-php.gpg] https://packages.sury.org/php/ $(lsb_release -sc) main" > /etc/apt/sources.list.d/sury-php.list

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

apt update

Теперь можно установить нужную версию интерпретатора:

apt-get install php7.4

apt-get install php8.1

* в данном примере 7.4 и 8.1.

Выбор версии PHP по умолчанию

Посмотреть текущую версию php, которая работает по умолчанию можно командой:

php -v

Сменить версию по умолчанию:

update-alternatives --config php

Если увидим сообщение:

...
Nothing to configure.

Значит у нас установлена всего одна версия PHP.

Мы должны увидеть что-то на подобие:

  Selection    Path             Priority   Status
------------------------------------------------------------
* 0            /usr/bin/php8.1   81        auto mode
  1            /usr/bin/php7.4   74        manual mode
  2            /usr/bin/php8.1   81        manual mode

* в данном примере используется версия php8 как версия по умолчанию.

Для смены, система предложит нам выбрать версию из списка:

Press <enter> to keep the current choice[*], or type selection number: 1

* так мы переключимся на php7.4.

Установка расширений

Расширения устанавливаются с синтаксисом:

apt install php<версия>-<расширение>

Для версии, которая идет по умолчанию в репозитории, установку можно выполнить так:

apt install php-mysqli

В остальных случаях обязательно указываем версию:

apt install php7.4-mysqli

Настройка PHP

В Ubuntu настройки PHP находятся в разных файлах — для каждой версии и для каждой системы, которая обрабатывает запросы.

Например, для php версии 8.1, которая будет запускаться из командной строки, файл будет:

vi /etc/php/8.1/cli/php.ini

для apache:

vi /etc/php/8.1/apache2/php.ini

для fpm:

vi /etc/php/8.1/fpm/php.ini

# Linux # Интернет # Серверы
Дмитрий Моск — частный мастер
Была ли полезна вам эта инструкция?

Да            Нет