Несколько версий PHP на одном сервере: PHP 7.4, 8.1, 8.2 одновременно

PHP · 19.04.2026
Несколько версий PHP на одном сервере: PHP 7.4, 8.1, 8.2 одновременно

Зачем нужно несколько версий PHP

На хостинге с несколькими сайтами часто нужны разные версии PHP: один сайт на WordPress требует PHP 8.1+, другой — старый Magento 1 работает только на PHP 7.4. Через репозиторий ondrej/php можно держать несколько версий одновременно.

Установка репозитория ondrej/php (Ubuntu/Debian)

sudo apt install software-properties-common
sudo add-apt-repository ppa:ondrej/php
sudo apt update

Установка нескольких версий PHP

# PHP 7.4
sudo apt install php7.4-fpm php7.4-cli php7.4-mysql php7.4-curl \
    php7.4-mbstring php7.4-xml php7.4-zip php7.4-gd

# PHP 8.1
sudo apt install php8.1-fpm php8.1-cli php8.1-mysql php8.1-curl \
    php8.1-mbstring php8.1-xml php8.1-zip php8.1-gd

# PHP 8.2
sudo apt install php8.2-fpm php8.2-cli php8.2-mysql php8.2-curl \
    php8.2-mbstring php8.2-xml php8.2-zip php8.2-gd

Проверка запущенных PHP-FPM

systemctl status php7.4-fpm php8.1-fpm php8.2-fpm

# Список сокетов
ls /run/php/
# php7.4-fpm.sock  php8.1-fpm.sock  php8.2-fpm.sock

Настройка Nginx: разные версии для разных сайтов

# Сайт 1 — PHP 8.2
server {
    server_name newsite.com;
    root /var/www/newsite;
    location ~ \.php$ {
        fastcgi_pass unix:/run/php/php8.2-fpm.sock;
        include fastcgi_params;
        fastcgi_param SCRIPT_FILENAME $document_root$fastcgi_script_name;
    }
}

# Сайт 2 — PHP 7.4 (старый сайт)
server {
    server_name oldsite.com;
    root /var/www/oldsite;
    location ~ \.php$ {
        fastcgi_pass unix:/run/php/php7.4-fpm.sock;
        include fastcgi_params;
        fastcgi_param SCRIPT_FILENAME $document_root$fastcgi_script_name;
    }
}

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

# Показать текущую версию
php --version

# Список доступных версий
update-alternatives --list php

# Изменить версию по умолчанию
sudo update-alternatives --set php /usr/bin/php8.2

# Интерактивный выбор
sudo update-alternatives --config php

Смена версии PHP для cPanel (через .htaccess)

# В .htaccess сайта
AddHandler application/x-httpd-php82 .php
# или через PHP-FPM пул — задаётся в настройках хостинга
Каждая версия PHP-FPM работает независимо со своими пулами и конфигурацией. Изменение php.ini для PHP 8.2 не влияет на PHP 7.4.
← Назад в базу знаний Задать вопрос поддержке