Установка нескольких версии PHP в Linux (Ubuntu, CentOS)
В настоящее время существует несколько поддерживаемых версии PHP, реальности использовать можно и нужно только две версии PHP 7.4 для старых сайтов и 8.1 для новых проектов.
В этой статье объясняется, как установить ВСЕ поддерживаемые версии PHP с наиболее востребованными расширениями PHP для веб серверов Apache и Nginx.
Установка разных версий PHP в Ubuntu
Руководство тестировалось для Ubuntu 22.04 LTS Jammy.
В Ubuntu для установки всех версий PHP используется репозиторий Ondřej Surý PPA. Репозиторий ondrej/php PPA содержит более актуальные версии PHP, чем официальные репозитории Ubuntu, а также позволяет устанавливать несколько версий PHP в одной системе.
- Предварительно в вашей системе должна быть установлен утилита apt-add-repository, которая позволяет добавлять внешние репозитории:
apt install software-properties-common
- Теперь добавьте репозиторий ondrej/php в вашу систему
add-apt-repository ppa:ondrej/php
- Обновляем пакеты в репозитории:
apt update -y
- Чтобы установить любые модули PHP, просто укажите версию PHP и используйте функцию автозаполнения (жмем клавишу Tab) для просмотра всех модулей. Ниже список вариантов установки нужной вам версии PHP:
Для веб-сервера Apache:
apt install php5.6 [PHP 5.6] apt install php7.0 [PHP 7.0] apt install php7.1 [PHP 7.1] apt install php7.2 [PHP 7.2] apt install php7.3 [PHP 7.3] apt install php7.4 [PHP 7.4] apt install php8.0 [PHP 8.0]
Для веб-сервера Nginx PHP-FPM:
apt install php5.6-fpm [PHP 5.6] apt install php7.0-fpm [PHP 7.0] apt install php7.1-fpm [PHP 7.1] apt install php7.2-fpm [PHP 7.2] apt install php7.3-fpm [PHP 7.3] apt install php7.4-fpm [PHP 7.4] apt install php8.0-fpm [PHP 8.0]
- Проверьте версию PHP по умолчанию, используемую в вашей системе:
php -v PHP 8.1.6 (cli) (built: May 17 2022 16:46:54) (NTS) Copyright (c) The PHP Group Zend Engine v4.1.6, Copyright (c) Zend Technologies with Zend OPcache v8.1.6, Copyright (c), by Zend Technologies
- Чтобы изменить версию PHP по умолчанию используйте утилиту update-alternatives, в примере ниже сделаем основной версией PHP 7.1
update-alternatives --set php /usr/bin/php7.1
Установка разных версий PHP в CentOS
Для инсталляции несколько версии PHP в CentOS вы можете использовать Remi's RPM repository или репозиторий SCL (Software Collections). В мануале будем использовать будем репозиторий Remi, так как в нем поддерживается большее количество разных версий PHP.
Предварительно установите репозиторий epel
yum -y install epel-release
CentOS 7:
wget https://dl.fedoraproject.org/pub/epel/epel-release-latest-7.noarch.rpm wget https://rpms.remirepo.net/enterprise/remi-release-7.rpm rpm -Uvh remi-release-7.rpm epel-release-latest-7.noarch.rpm
CentOS 8
dnf install https://dl.fedoraproject.org/pub/epel/epel-release-latest-8.noarch.rpm dnf install https://rpms.remirepo.net/enterprise/remi-release-8.rpm
Для переключения версий PHP (только в текущей консоли) по умолчанию используйте утилиту scl (ключ l выводит список версий php):
$ scl enable php82 bash $ php -v PHP 7.2.8 (cli) (built: Jul 17 2018 05:35:43) ( NTS )
Жесткое изменения на уровне ОС PHP по умолчанию:
rm /usr/bin/php cp /opt/remi/php82/root/usr/bin/php /usr/bin/php
Тестирование вместо Заключения
Для того чтобы узнать какая версия PHP подключена для вашего сайта используйте Использование расширенного phpinfo vs PhpSysInfo.
📌 Для тестирования скриптов, установщиков VPN, Python ботов рекомендуем использовать надежные VPS на короткий срок. Если вам нужна помощь с более сложными задачами, вы можете найти фрилансера, который поможет с настройкой. Узнайте больше о быстрой аренде VPS для экспериментов и о фриланс-бирже для настройки VPS, WordPress. 📌
💥 Подпишись в Телеграм 💥 и задай вопрос по сайтам и хостингам бесплатно!7 Самых Популярных Статей
- Как запустить скрипты и веб-приложения на Python
- Что такое страны TIER 1,2,3
- 7 способов сравнения файлов по содержимому в Windows или Linux
- Установка и тестирование веб-панели HestiaCP
- Китайский VPN Shadowsocks простая установка и настройка
- top, htop, atop определение загрузки ОС (Load average, LA)
- Использование rsync в примерах