Как сделать несколько версий php на панели VESTACP (centos7+nginx+php-fpm)
Шаг 1 — Установка версий php
Подсказка если нет репозиториев
yum install epel-release
yum install http://rpms.remirepo.net/enterprise/remi-release-7.rpm
Так как в панели веста репозитории EPEL и REMI имеются
Команды для ssh
пых 8.1
yum install php81 php81-php-fpm php81-php-cli php81-php-mysqlnd php81-php-gd php81-php-ldap php81-php-odbc php81-php-pdo php81-php-pear php81-php-xml php81-php-xmlrpc php81-php-mbstring php81-php-snmp php81-php-soap php81-php-zip php81-php-opcache
пых 7.4
yum install php74 php74-php-fpm php74-php-cli php74-php-mysqlnd php74-php-gd php74-php-ldap php74-php-odbc php74-php-pdo php74-php-pear php74-php-xml php74-php-xmlrpc php74-php-mbstring php74-php-snmp php74-php-soap php74-php-zip php74-php-opcache
Далее идем на сервер и ищем файлы
/etc/opt/remi/php81/php-fpm.d/www.conf
в них меняем listen = 127.0.0.1:9000 на listen = 127.0.0.1:9081
/etc/opt/remi/php74/php-fpm.d/www.conf
в них меняем listen = 127.0.0.1:9000 на listen = 127.0.0.1:9074
Подсказка
порт 9000 может отличаться
Для собственного удобства меняем последние цифры порта на версию php 9081 и 9074 соответственно
Шаг 2 — Запустим процессы PHP.
Команда
systemctl enable --now php74-php-fpm
Результат
Created symlink from /etc/systemd/system/multi-user.target.wants/php74-php-fpm.service to /usr/lib/systemd/system/php74-php-fpm.service.
Команда
systemctl enable --now php81-php-fpm
Результат
Created symlink from /etc/systemd/system/multi-user.target.wants/php81-php-fpm.service to /usr/lib/systemd/system/php81-php-fpm.service.
Проверим
systemctl status php74-php-fpm
systemctl status php81-php-fpm
Подсказка
Тут у меня была первая проблема, не создавалась ссылка на пых 7.4, пришлось снести php 7.4
Команда
yum list installed | grep php74* - смотрим все что мешает
yum remove php74* - удаляем
Затем устанавливаем по новой
yum install php74 php74-php-fpm php74-php-cli php74-php-mysqlnd php74-php-gd php74-php-ldap php74-php-odbc php74-php-pdo php74-php-pear php74-php-xml php74-php-xmlrpc php74-php-mbstring php74-php-snmp php74-php-soap php74-php-zip php74-php-opcache
Шаг 3 — подключаем нужному сайту необходимый php
Затем идем в папку с настройками nginx для сайта /home/test/conf/web и прописываем вместо set $php_sock 127.0.0.1:9001; вот это set $php_sock 127.0.0.1:9074;
И перезагружаем nginx и php74-php-fpm
service nginx restart
service php74-php-fpm restart
Сайт должен работать и phpinfo() покажет php7.4
Настройки php-fpm для домена лежавшие в папке /etc/php-fpm.d для версии php 7.4 не работают поэтому переносим файл test.ru.conf в /etc/opt/remi/php74/php-fpm.d (или просто в общий файл www.conf в той же папке если один сайт)
Подсказка
У меня была ошибка после того как перекинул файл с настройками test.ru.conf, поэтому я перенес нужные для работы сайта параметры в общий файл настроек для php74 www.conf
php_admin_value[opcache.revalidate_freq] = 0
php_admin_value[date.timezone] = Europe/Moscow
php_admin_value[display_errors] = 1
php_admin_value[max_execution_time] = 360
php_admin_value[max_input_vars] = 10000
php_admin_value[upload_max_filesize] = 8M
php_admin_value[mbstring.func_overload] = 0
php_admin_value[opcache.max_accelerated_files] = 100000
Далее копируем один из шаблонов настроек nginx у меня это был bitrix.stpl и bitrix.tpl лежащие в папке /usr/local/vesta/data/templates/web/nginx/php-fpm обзываем bitrix74.stpl и bitrix74.tpl
И в них set $php_sock %backend_lsnr%; меняем на set $php_sock 127.0.0.1:9074; и выбираем его для всех сайтов где нам нужна php7.4

Если у кого-то есть решение лучше пишите. Дополню.