Установка PHP разных версий на CentOS или Rocky

Термины по теме: php , Linux , CentOS , Rocky Linux .

В системах Linux, по умолчанию, может устанавливаться php не той версии, что нужна для проекта. Для решения проблемы необходима установка дополнительного репозитория. Рассмотрим процесс подробнее.

Добавление репозиториев и установка

Первый репозиторий, который мы добавим — EPEL, второй — REMI.

1. Epel

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

yum install epel-release

2. REMI

Добавляем репозиторий:

rpm -Uvh http://rpms.remirepo.net/enterprise/remi-release-`rpm -E %{rhel}`.rpm

По умолчанию, репозитории для разных версий php отключены. Мы должны сами определить версию устанавливаемой php. Следующие действия, немного, различаются для CentOS и Rocky. Рассмотрим их по отдельности.

CentOS

Посмотреть список доступных для включения версий можно командой:

ls /etc/yum.repos.d/remi-*

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

yum-config-manager —enable remi-php74

или, например:

yum-config-manager —enable remi-php81

* в данном примере мы будем устанавливать php версии 7.4 или 8.1 .

Если мы молучим ошибку yum-config-manager: command not found , устанавливаем yum-utils:

yum install yum-utils

Rocky

Посмотреть список доступных для включения версий можно командой:

dnf module list php

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

dnf module enable php:remi-8.4

3. Установка PHP

Устанавливаем php:

yum install php

Проверка

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

php -v

или:

php -r «phpinfo();» | grep «PHP Version»

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

Если мы включили репозиторий с помощью yum-config-manager, то установка расширений выполняется обычной командой, например:

yum install php-mysqli

Иначе, расширения для нужных версий php устанавливаем с указанием репозитория, например:

yum —enablerepo=remi-php74 install php-mysqli

Downgrade

При обновлении PHP на более новую версию проблем не возникает, и мы можем его выполнять установкой (yum install). Для понижения версии php необходимо использовать yum downgrade:

yum —enablerepo=remi-php73 downgrade php php-*

* обратите внимание, что мы для downgrade указываем php и все пакеты, которые начинаются на php- (все расширения). В противном случае, мы получим ошибку зависимостей.

Что дальше

Как правило, php устанавливается на веб-сервер для обработки http -запросов. Наиболее популярные для этого пакеты — NGINX и Apache .

Для первого читайте подходящую статью Как установить NGINX на CentOS .

EnglishRussianUkrainian