Чтобы добавить собственную альтернативную версию PHP в ISPmanager, нужно создать два XML-файла.

Первый файл добавляет в Настройки  Конфигурация ПО новый пункт и описывает для него форму Настройки  Конфигурация ПО Изменить. Например:

/usr/local/mgr5/etc/xml/ispmgr_mod_myphp.xml

<mgrdata>
 <lang name="ru">
   <messages name="feature">
     <msg name="dname_altphp72">Альтернативная версия PHP 7.2</msg>
   </messages>
   <messages name="feature.edit">
     <msg name="package_ispphp72">My PHP 7.2</msg>
     <msg name="hint_package_ispphp72">Использовать PHP 7.2 в режиме CGI</msg>
     <msg name="package_ispphp72_mod_apache">Модуль PHP для Apache версии 7.2</msg>
     <msg name="hint_package_ispphp72_mod_apache">Возможность использовать PHP 7.2 в режиме модуля Apache</msg>
     <msg name="package_ispphp72_fpm">PHP 7.2 для PHP-FPM</msg>
     <msg name="hint_package_ispphp72_fpm">Возможность использования PHP 7.2 сервисом PHP-FPM</msg>
     <msg name="packagegroup_altphp72gr">PHP версии 7.2</msg>
     <msg name="hint_packagegroup_altphp72gr">Возможность использовать PHP версии 7.2</msg>
   </messages>
 </lang>
</mgrdata>
BASH

Второй файл описывает пакет добавляемой версии PHP. Например:

/usr/local/mgr5/etc/xml/ispmgr_features.d/my_php.xml

<features>
       <feature name="altphp72" featuregroup="altphp">
		<packagegroup name="altphp72gr" type="select">
			<package name="ispphp72" dispname="PHP 7.2 CGI" primary="yes" recommended="yes">
				<systemname>isp-php72</systemname>
			</package>
			<if value="turn_off" hide="package_ispphp72_mod_apache" shadow="yes"/>
			<if value="turn_off" hide="package_ispphp72_fpm" shadow="yes"/>
		</packagegroup>
		<package name="ispphp72_fpm" dispname="PHP 7.2 PHP-FPM" recommended="yes">
			<systemname>isp-php72-fpm</systemname>
		</package>
		<package name="ispphp72_mod_apache" dispname="PHP 7.2 Apache module">
			<systemname>isp-php72-mod-apache</systemname>
		</package>
	</feature>
</features>
BASH
Пояснения

<systemname>isp-php72</systemname> — имя пакета в пакетном менеджере.

Обратите внимание!

Указываемые пакеты должны быть доступны в каком-либо из подключенных репозиториев.

<package name="ispphp72" dispname="PHP 7.2 CGI" primary="yes" recommended="yes"> — описание пакета для режима CGI.

<package name="ispphp72_fpm" dispname="PHP 7.2 PHP-FPM" recommended="yes"> — описание пакета для режима PHP-FPM.

<package name="ispphp72_mod_apache" dispname="PHP 7.2 Apache module"> — описание пакета для модуля Apache.

Обратите внимание!

Если пакеты для PHP-FPM и Apache отсутствуют, их можно не включать в описание.

При установке пакета должен добавляться файл /opt/<имя пакета>/etc/php.ini.

После добавления XML-файлов:

  1. Перезапустите ISPmanager:

    /usr/local/mgr5/sbin/mgrctl -m ispmgr exit
    
    BASH
  2. Установите новую версию PHP в разделе НастройкиКонфигурация ПО.

ISPmanager при добавлении альтернативной версии PHP:

  1. Устанавливает необходимые пакеты и добавляет записи в базу данных.

    Пример добавления записей в БД

    INSERT INTO ispfeatures (id, name) VALUES('1', 'altphp90')
    INSERT INTO isppackages (id, ispfeatures, isprimary, name) VALUES('1', '1', 'on', 'ispphp90')
    INSERT INTO isppkginfo (feature, id, name, sysname, pkgstate, priority) VALUES('altphp90', '58', 'ispphp90_fpm', 'isp-php80-fpm', '33', '1000');  //Для PHP_FPM
    CODE
  2. Добавляет путь к версии PHP в конфигурационный файл. Например, для PHP 9.0 панель управления добавит параметр isp-php90_cgi-bin со значением /opt/php90/bin/php-cgi.

Если альтернативная версия PHP установлена успешно, при запуске панель управления добавит в лог-файл /usr/local/mgr5/var/ispmgr.log запись вида:

Пример записи в лог-файле

Dec 30 07:40:58 [2129952:1] php INFO Registering PHP module 'isp-php90'
CODE