Alternative PHP-Versionen in ISPmanager 5

Anleitung zur Installation alternativer PHP-Versionen im Verwaltungspanel ISPmanager5

In der Verwaltungspanel ISPmanager5 können Sie alternative PHP-Versionen installieren, um diese in verschiedenen PHP-Modi zu verwenden. Gehen Sie dazu in den Bereich: „Einstellungen → Funktionen".

file

Alternative Versionen für den CGI-Modus (sowie FastCGI Apache)

Nach der Installation einer alternativen PHP-Version steht diese im PHP-Modus als CGI zur Verfügung (bzw. als FastCGI Apache, sofern Apache Prefork installiert ist). Im CGI-Modus kann die PHP-Version für jede WWW-Domain eines einzelnen Panel-Benutzers unterschiedlich sein. Die Einstellung gilt für eine einzelne WWW-Domain.

Beim Bearbeiten einer WWW-Domain genügt es, die gewünschte Version aus der Dropdown-Liste auszuwählen.

Alternative Versionen für den Apache-Modulmodus

Bei der Installation einer alternativen Version kann der Administrator auch wählen, diese PHP-Version im Apache-Modulmodus zu verwenden.

Ist diese Option aktiviert, kann der Panel-Administrator in der Liste PHP-Versionen festlegen, welche PHP-Version im Apache-Modulmodus verwendet werden soll.

Diese Einstellung gilt für alle WWW-Domains aller Benutzer, die PHP im Apache-Modulmodus verwenden, d. h. die Einstellung wirkt sich auf den gesamten Server aus.

Alternative Versionen für den FastCGI-Modus (Nginx + PHP-FPM)

Bei der Installation einer alternativen Version kann der Administrator auch wählen, diese PHP-Version im PHP-FPM-Modulmodus zu verwenden (das entsprechende Kontrollkästchen ist automatisch aktiviert).

Ist diese Option aktiviert, kann jeder Benutzer die gewünschte PHP-Version für den FastCGI-Modus (Nginx + PHP-FPM) selbst auswählen. Die Einstellung wird in der Liste „PHP-Versionen" auf Benutzerebene oder im Benutzer-Bearbeitungsformular auf Administratorebene vorgenommen.

Die Änderungen gelten für alle WWW-Domains des Benutzers, die PHP im FastCGI-Modus (Nginx + PHP-FPM) verwenden.

Nach der Installation kann für die WWW-Domain eine alternative PHP-Version ausgewählt werden.

Besonderheiten der Implementierung

Beim Wechsel der Version von PHP als Apache-Modul wird der Apache-Webserver so konfiguriert, dass anstelle des nativen Versionsmoduls das Modul der gewählten alternativen Version verwendet wird.

Beim Wechsel der PHP-Version für PHP-FPM wird der Benutzer-Pool für den PHP-FPM-Dienst der entsprechenden Version konfiguriert. Auf dem Server können dabei mehrere PHP-FPM-Dienste unterschiedlicher Versionen gleichzeitig laufen, die jeweils eine eigene Gruppe von Benutzern bedienen.

Beispiel: Eigene Builds zum Panel hinzufügen

Um die Möglichkeit hinzuzufügen, Ihre eigenen PHP-Pakete zu verwenden, müssen Sie 2 Dateien erstellen.

/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> ist der Name des Pakets in apt\yum 
<package name="ispphp72" dispname="PHP 7.2 CGI" primary="yes" recommended="yes">Beschreibt das Paket für den CGI-Modus
<package name="ispphp72_fpm" dispname="PHP 7.2 PHP-FPM" recommended="yes">Beschreibt das Paket für den PHP-FPM-Modus
<package name="ispphp72_mod_apache" dispname="PHP 7.2 Apache module">Beschreibt das Paket für das Apache-Modul

Die Pakete für PHP-FPM und Apache können in der Beschreibung weggelassen werden, falls sie aus irgendeinem Grund fehlen.

Starten Sie anschließend das Panel neu:

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

Ihr Paket (in diesem Fall wird das Paket php47 heißen) muss eine Datei unter /opt/php47/etc/php.ini enthalten.

Weitere Informationen finden Sie in der offiziellen Dokumentation.

Hilfe benötigt?Unsere Ingenieure helfen Ihnen kostenlos bei jeder Frage in wenigen MinutenKontaktieren Sie uns