Термины по теме: php , Linux , CentOS , Rocky Linux .
В системах Linux, по умолчанию, может устанавливаться php не той версии, что нужна для проекта. Для решения проблемы необходима установка дополнительного репозитория. Рассмотрим процесс подробнее.
Установка репозиториев и PHP
Проверка установленной версии 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 .