Вы можете одновременно использовать на хосте Linux разные версии PHP. В этой статье мы покажем, как установить несколько версий PHP на примере Ubuntu/Debian.
Проверьте, какая версия PHP доступна в стандартном репозитории Ubuntu:
$ apt search --names-only '^php[.0-9]{3}$'
В нашем примере это php8.1.
Если пакет не установлен, вы можете установить его командой:
$ sudo apt install php
Если вам нужно версий PHP, которая отсутствует в стандартном репозитории, нужно подключить дополнительные. Последние пакеты PHP можно установить из репозитория Ondřej Surý.
Добавьте новый репозиторий:
$ sudo apt install software-properties-common
$ sudo add-apt-repository ppa:ondrej/php
$ sudo apt update
$ sudo apt install gnupg-agent
Выведите список доступных версий PHP в репозитории:
$ sudo apt-cache search php*
Теперь вы может установить нужную версию PHP:
$ sudo apt-get install php7.4
$ sudo apt-get install php8.2
Выведите список установленных версий PHP:
$ dpkg --get-selections | grep -i php
# dnf -y install epel-release
# 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
# dnf module list php
Проверьте, какая версия PHP используется по умолчанию:
$ php –v
PHP 8.2.5 (cli) (built: Apr 14 2023 04:27:02) (NTS) Copyright (c) The PHP Group Zend Engine v4.2.5, Copyright (c) Zend Technologies with Zend OPcache v8.2.5, Copyright (c), by Zend Technologies
Чтобы сменить версию PHP по-умолчанию, выполните:
$ sudo update-alternatives --config php
Доступны две версии PHP. Выберите из списка версию, которую нужно использовать по-умолчанию.
Или вы можете сразу указать нужную версию:
$ sudo update-alternatives --set php /usr/bin/php7.4
Настройки разных версий PHP находятся в разных файлах. Например, настройки для PHP 8.2:
- Командная строка: /etc/php/8.2/cli/php.ini
- Apache: /etc/php/8.2/apache2/php.ini
- FPM: /etc/php/8.2/fpm/php.ini