So installieren Sie mehrere PHP -Versionen mit Apache auf Debian 11/10

So installieren Sie mehrere PHP -Versionen mit Apache auf Debian 11/10

Im Allgemeinen verwendet der Host Manager das separate System für jede PHP -Versionsanwendungsbereitstellung. Was die Hosting -Kosten erhöht. Einige der Host -Manager verwenden Docker, um mehrere PHP -Version auf dem einzelnen Server auszuführen. Außerdem sind sich die meisten von Ihnen der Konfiguration bewusst. Vielleicht sind sich einige der Systemadministratoren davon nicht bewusst. In diesem Tutorial können Sie mehrere PHP -Versionen mit Apache auf Debian 11, Debian 10 und Debian 9 -Systemen installieren, ohne PHP -Versionen zu wechseln.

Dieses Tutorial beschreibt die Installation und Konfiguration von zwei virtuellenHost auf Apache mit separaten PHP -Versionen. First VirtualHost wird mit PHP 5 zusammenarbeiten.6 und ein weiterer virtualhost wird mit PHP 7 laufen.2. Gehen Sie also einfach dieses Tutorial durch. Sie können auch mehr als zwei PHP -Versionen mit Apache wie erforderlich verwenden, aber dieses Tutorial umfasst nur zwei.

PHP -Installation

Für die Installation von PHP -Versionen verwenden wir die hier gehaltene PPA. Verwenden Sie die folgenden Befehle, um das PPA zu Ihrem Debian -System hinzuzufügen.

sudo apt installieren CA-Zertifikate APT-transport-https wGet -q https: // pakete.Sury.org/PHP/APT.gpg -o- | sudo apt -key add - echo "deb https: // pakete.Sury.org/Php/Stretch Main "| sudo tee/etc/apt/Quellen.Liste.D/Php.Liste 

Dieses Tutorial verwendet Php 5.6 und Php 7.2 Um mit Apache Web Server zu konfigurieren. Um die mehreren PHP -Versionen zu verwenden, verwenden wir PHP FPM und FastCGI. Führen Sie die folgenden Befehle aus, um PHP und FPM auf dem Debian -System zu installieren.

APT Update sudo APT Installieren Sie PHP5.6 Php5.6-fpm sudo APT Installieren Sie PHP7.2 Php7.2-fpm 

Nach der Installation werden PHP-FPM-Dienste automatisch gestartet. Verwenden Sie die folgenden Befehle, um sicherzustellen, dass beide Dienste ausgeführt werden.

sudo systemctl Status PHP5.6-fpm sudo systemctl Status PHP7.2-fpm 

Apache -Installation

Installieren Sie den Apache -Webserver aus dem offiziellen Repository. Starten Sie das Terminal auf Ihrem System oder melden Sie sich mit SSH für Remote -Systeme an. Führen Sie die folgenden Befehle aus, um die neueste verfügbare Version des Apache -Webservers zu installieren.

sudo apt aktualisieren sudo apt install apache2 libapache2-mod-fcgid 

Apache -Konfiguration

Aktivieren Sie nun nur wenige Module, die für die Konfiguration mehrerer PHP -Versionen mit Apache erforderlich sind. Diese Module sind erforderlich, um PHP FPM und FASTCGI in den Apache -Server zu integrieren.

sudo a2enmod actions fcgid alias proxy_fcgi 

Erstellen Sie nun zwei Sektorienverzeichnisse auf Ihrem System für beide Websites, die auf Ihrem System konfigurieren.

sudo mkdir/var/www/php56 sudo mkdir/var/www/php72 

Jetzt erstellen und indexieren.PHP, das die Funktion phpinfo () enthält. Dies hilft den Benutzern, zu sehen und zu bestätigen, welche PHP -Version vom VirtualHost verwendet wird.

echo "">/var/www/php56/Index.PHP echo "">/var/www/php72/Index.Php 

Beginnen wir mit der Schaffung von VirtualHost. Apache hält alle VirtualHost-Konfigurationsdateien unter/etc/apache2/sites-verfügbar mit der Erweiterung .Conf. Erstellen Sie eine Datei für den ersten virtuellen Host und bearbeiten Sie in Ihrem bevorzugten Texteditor.

sudo vim/etc/apache2/sites-verfügbare/php56.Beispiel.com.Conf 

Fügen Sie den folgenden Inhalt hinzu. Stellen Sie sicher. Diese Website ist so konfiguriert, dass sie mit PHP 5 funktioniert.6.

Serverame Php56.Beispiel.com documentroot/var/www/php56 Optionen -Indexes +FollowsymLinks +Multiviews DuldOverride benötigen alle gewährt # Apache 2.4.10+ kann zu Unix Socket Sethandler "Proxy: Unix:/var/run/php/php5.6-fpm.Sock | fcgi: // localhost/"
12345678910111213 Serverame Php56.Beispiel.com documentroot/var/www/php56 Optionen -Indexes +FollowsymLinks +Multiviews DuldOverride alle erfordern alle gewährt # Apache 2.4.10+ kann zu Unix Socket Sethandler "Proxy: Unix:/var/run/php/php5.6-fpm.Sock | fcgi: // localhost/"

Erstellen Sie in ähnlicher Weise eine zweite VirtualHost -Konfigurationsdatei für die Arbeit mit PHP 7.2. Konfigurationsdatei im Texteditor bearbeiten:

sudo vim/etc/apache2/sites-verfügbare/php72.Beispiel.com.Conf 

Fügen Sie den folgenden Inhalt hinzu, um mit ordnungsgemäßer Serverame und documentRoot versehen zu werden.

Servername Php72.Beispiel.com documentroot/var/www/php72 Optionen -Indexes +FollowSymLinks +Multiviews Degly AversOverride benötigen alle gewährt SetHandler "Proxy: Unix:/var/run/php/php7.2-fpm.Sock | fcgi: // localhost/"
123456789101112 Servername Php72.Beispiel.com documentroot/var/www/php72 Optionen -Indexes +FollowsymLinks +Multiviews DuldOverride alle erfordern alle gewährt SetHandler "Proxy: Unix:/var/run/php/php7.2-fpm.Sock | fcgi: // localhost/"

Sie beide Websites sind jetzt konfiguriert. Aber sie sind immer noch nicht aktiv. Apache behält aktive Stellen unter/etc/apache2/sites-fähiges Verzeichnis auf. Sie können einfach einen symbolischen Link von Konfigurationsdateien mit diesem Verzeichnis erstellen oder den folgenden Befehl verwenden, um dasselbe zu tun.

sudo a2ensit php56.Beispiel.com sudo a2ensit php72.Beispiel.com 

Nachdem Sie alle Änderungen vorgenommen haben, starten Sie Apache neu, um neue Einstellungen neu zu laden.

sudo systemctl starten Sie Apache2 neu 

Ihr Setup wurde jetzt abgeschlossen. Gehen Sie zum nächsten Schritt, um Ihr Setup zu testen.

Versuchsaufbau

Öffnen Sie einen Webbrowser und besuchen Sie beide Websites. Du wirst das sehen Php56.Beispiel.com Zeigt die Version an Php 5.6 Und Php72.Beispiel.com zeigt die Php 7.2 als Konfiguration.