Versioni alternative di PHP in ISPmanager 5
Guida all'installazione di versioni alternative di PHP nel pannello di controllo ISPmanager5
Nel pannello di controllo ISPmanager5 puoi installare versioni alternative di PHP per utilizzarle in diverse modalità PHP, accedendo alla sezione: «Impostazioni → Funzionalità».

Versioni alternative per la modalità CGI (e FastCGI Apache)
Quando viene installata una versione alternativa di PHP, questa diventa disponibile in modalità PHP come CGI (o FastCGI Apache, se Apache Prefork è installato). In modalità CGI, la versione di PHP può essere diversa per ogni dominio WWW di uno stesso utente del pannello. L'impostazione si applica a un singolo dominio WWW.
Per applicarla è sufficiente, durante la modifica del dominio WWW, selezionare la versione desiderata dall'elenco a discesa.
Versioni alternative per la modalità modulo Apache
Durante l'installazione di una versione alternativa, l'amministratore può anche scegliere di abilitare l'utilizzo di quella versione di PHP in modalità modulo Apache.
Se questa opzione è selezionata, l'amministratore del pannello potrà indicare nell'elenco Versioni PHP quale versione di PHP deve essere utilizzata in modalità modulo Apache.
Questa impostazione si applica a tutti i domini WWW di tutti gli utenti che usano PHP in modalità modulo Apache, ovvero l'impostazione si applica all'intero server.
Versioni alternative per la modalità FastCGI (Nginx + PHP-FPM)
Durante l'installazione di una versione alternativa, l'amministratore può anche scegliere di abilitare l'utilizzo di quella versione di PHP in modalità modulo PHP-FPM (la casella di spunta per questa opzione è selezionata automaticamente).
Se questa opzione è selezionata, ogni utente può scegliere la versione di PHP desiderata per la modalità FastCGI (Nginx + PHP-FPM). La modifica dell'impostazione avviene dall'elenco «Versioni PHP» a livello utente oppure dal modulo di modifica dell'utente a livello amministratore.
Le modifiche si applicano a tutti i domini WWW dell'utente che usano PHP in modalità FastCGI (Nginx + PHP-FPM).
Dopo l'installazione sarà possibile selezionare una versione alternativa di PHP per il dominio WWW.
Dettagli implementativi
Quando si cambia la versione di PHP come modulo Apache, il server web Apache viene configurato per utilizzare il modulo della versione alternativa selezionata al posto del modulo della versione nativa.
Quando si cambia la versione di PHP per PHP-FPM, il pool dell'utente viene configurato per il servizio PHP-FPM della versione corretta; sul server possono essere in esecuzione contemporaneamente più servizi PHP-FPM di versioni diverse, ciascuno dedicato a un gruppo di utenti distinto.
Esempio di aggiunta di build personalizzate al pannello
Per aggiungere la possibilità di utilizzare i propri pacchetti PHP, è necessario creare 2 file.
/usr/local/mgr5/etc/xml/ispmgr_mod_myphp.xml
<?xml version="1.0" encoding="UTF-8"?>
<mgrdata>
<lang name="ru">
<messages name="feature">
<msg name="dname_altphp72">Alternate version of PHP 7.2
</msg> </messages>
<messages name="feature.edit">
<msg name="package_ispphp72">My PHP 7.2</msg>
<msg name="hint_package_ispphp72">Use PHP 7.2 in CGI mode
</msg>
<msg name="package_ispphp72_mod_apache">PHP module for Apache version 7.2
</msg>
<msg name="hint_package_ispphp72_mod_apache">Ability to use PHP 7.2 in Apache module mode
</msg>
<msg name="package_ispphp72_fpm">PHP 7.2 for PHP-FPM
</msg>
<msg name="hint_package_ispphp72_fpm">Ability to use PHP 7.2 with PHP-FPM
</msg>
<msg name="packagegroup_altphp72gr">PHP v.7.2
</msg>
<msg name="hint_packagegroup_altphp72gr">Ability to use PHP v7.2
</msg> </messages> </lang></mgrdata>
/usr/local/mgr5/etc/xml/ispmgr_features.d/my_php.xml
<?xml version="1.0" encoding="UTF-8"?>
<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>
<systemname>isp-php72</systemname> è il nome del pacchetto in apt\yum
<package name="ispphp72" dispname="PHP 7.2 CGI" primary="yes" recommended="yes">Descrive il pacchetto per la modalità CGI
<package name="ispphp72_fpm" dispname="PHP 7.2 PHP-FPM" recommended="yes">Descrive il pacchetto per la modalità PHP-FPM
<package name="ispphp72_mod_apache" dispname="PHP 7.2 Apache module">Descrive il pacchetto per il modulo Apache
È possibile omettere i pacchetti per PHP-FPM e Apache se per qualsiasi motivo non sono disponibili.
Riavvia quindi il pannello:
/usr/local/mgr5/sbin/mgrctl -m ispmgr exit
Il tuo pacchetto (in questo caso il pacchetto si chiamerà php47) deve contenere un file in /opt/php47/etc/php.ini.
Ulteriori informazioni sono disponibili nella documentazione ufficiale.