Versions alternatives de PHP dans ISPmanager 5

Guide d'installation de versions alternatives de PHP dans le panneau de contrôle ISPmanager5

Dans le panneau de contrôle ISPmanager5, vous pouvez installer des versions alternatives de PHP pour les utiliser dans différents modes PHP en accédant à la section : « Paramètres → Fonctionnalités ».

file

Versions alternatives pour le mode CGI (ainsi que FastCGI Apache)

Lorsqu'une version alternative de PHP est installée, elle devient disponible en mode PHP CGI (ou FastCGI Apache si Apache Prefork est installé). En mode CGI, la version de PHP peut être différente pour chaque domaine WWW d'un même utilisateur du panneau. Le paramètre s'applique à un seul domaine WWW.

Il suffit, lors de la modification d'un domaine WWW, de sélectionner la version souhaitée dans la liste déroulante.

Versions alternatives pour le mode module Apache

Lors de l'installation d'une version alternative, l'administrateur peut également choisir d'utiliser cette version de PHP en mode module Apache.

Si cette option est activée, l'administrateur du panneau pourra indiquer dans la liste Versions PHP quelle version de PHP doit être utilisée en mode module Apache.

Ce paramètre s'applique à tous les domaines WWW de tous les utilisateurs ayant recours à PHP en mode module Apache, c'est-à-dire qu'il s'applique à l'ensemble du serveur.

Versions alternatives pour le mode FastCGI (Nginx + PHP-FPM)

Lors de l'installation d'une version alternative, l'administrateur peut également choisir d'autoriser l'utilisation de cette version de PHP en mode module PHP-FPM (la case correspondante est automatiquement cochée).

Si cette option est activée, chaque utilisateur peut sélectionner la version de PHP souhaitée pour le mode FastCGI (Nginx + PHP-FPM). La modification du paramètre s'effectue depuis la liste « Versions PHP » au niveau utilisateur ou depuis le formulaire de modification de l'utilisateur au niveau administrateur.

Les modifications s'appliquent à tous les domaines WWW de l'utilisateur utilisant PHP en mode FastCGI (Nginx + PHP-FPM).

Après l'installation, il sera possible de sélectionner une version alternative de PHP pour le domaine WWW.

Particularités d'implémentation

Lors du changement de version de PHP en tant que module Apache, le serveur web Apache est configuré pour utiliser le module de la version alternative sélectionnée à la place du module de la version native.

Lors du changement de version PHP pour PHP-FPM, le pool utilisateur est configuré pour le service PHP-FPM de la version appropriée. Le serveur peut alors faire tourner simultanément plusieurs services PHP-FPM de versions différentes, chacun servant un groupe d'utilisateurs distinct.

Exemple d'ajout de builds personnalisés au panneau

Pour ajouter la possibilité d'utiliser vos propres paquets PHP, vous devez créer 2 fichiers.

/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> est le nom du paquet dans apt\yum 
<package name="ispphp72" dispname="PHP 7.2 CGI" primary="yes" recommended="yes">Décrit le paquet pour le mode CGI
<package name="ispphp72_fpm" dispname="PHP 7.2 PHP-FPM" recommended="yes">Décrit le paquet pour le mode PHP-FPM
<package name="ispphp72_mod_apache" dispname="PHP 7.2 Apache module">Décrit le paquet pour le module Apache

Vous pouvez omettre les paquets pour PHP-FPM et Apache si ceux-ci sont absents pour une quelconque raison.

Redémarrez ensuite le panneau :

/usr/local/mgr5/sbin/mgrctl -m ispmgr exit

Votre paquet (dans cet exemple, le paquet s'appellera php47) doit contenir un fichier dans /opt/php47/etc/php.ini.

Des informations complémentaires sont disponibles dans la documentation officielle.

Besoin d’aide?Nos ingénieurs vous aideront gratuitement pour n’importe quelle question en quelques minutesNous contacter