So installieren Sie mehrere PHP -Versionen mit Apache auf Ubuntu 20.04

So installieren Sie mehrere PHP -Versionen mit Apache auf Ubuntu 20.04

Im Allgemeinen verwendete der Host -Manager einen separaten Server für jede Bereitstellung von PHP -Versionsanwendungen. 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 die meisten von Ihnen die Konfiguration bewusst, ich habe in diesem Tutorial verwendet. Einige der Systemadministratoren sind sich dessen jedoch nicht bewusst. In diesem Tutorial können Sie mehrere PHP -Versionen mit Apache auf Ubuntu 20 installieren.04 Linux -System, 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.

Apache installieren

Apache -Webserverpakete sind unter den Standard -Repositories verfügbar. Öffnen Sie ein Terminal in Ihrem Ubuntu -System und 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 

PHP installieren

Ein PPA wird für die PHP -Installation auf Ubuntu -Systemen aus langen Jahren aufrechterhalten. Sie müssen diese PPA nur zu Ihrem System hinzufügen, um Pakete zu installieren. Verwenden Sie die folgenden Befehle, um das PPA zu Ihrem System hinzuzufügen.

sudo APT Installieren Sie Software-Properties-Common Sudo Add-apt-Repository PPA: Ondrej/PHP 

Für dieses Tutorial verwenden wir den PHP 5.6 und Php 7.4 So konfigurieren Sie mit Apache Web Server. Um die mehreren PHP -Versionen zu verwenden, verwenden wir PHP FPM und FastCGI. Installieren wir die folgenden Pakete in Ihrem System.

sudo apt update -y sudo apt installieren Sie PHP5.6 Php5.6 -fpm -y sudo APT Installieren Sie PHP7.4 Php7.4 -fpm -y 

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.4-fpm 
  • Empfohlen: So aktivieren/deaktivieren Sie PHP -Module auf Ubuntu

Konfigurieren Sie Apache mit mehreren PHP

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 

Machen Sie sich bereit für die Konfiguration von Websites auf Ihrem Apache -Server. Für den Testzweck konfiguriere ich zwei Websites, um mit zwei verschiedenen 2 PHP-Versionen zu arbeiten. Erstellen Sie zunächst zwei Verzeichnisse auf Ihrem Server.

sudo mkdir/var/www/php56-App sudo mkdir/var/www/php74-App 

Jetzt erstellen und indexieren.PHP mit dem phpinfo (); Funktion.

echo "">/var/www/php56-App/Index.Php echo "">/var/www/php74-App/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 -App -Optionen -Indexes +FollowsymLinks +Multiviews ALLEPRIDE ALLE ALLE EINZEICHT.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-App 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/php74.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/php74 -App -Optionen -Indexes +FollowsymLinks +Multiviews DulsOverride benötigen alle gewährt SetHandler "Proxy: Unix:/var/run/php/php7.4-fpm.Sock | fcgi: // localhost "
123456789101112 Servername Php72.Beispiel.com documentroot/var/www/php74-App Optionen -Indexes +FollowsymLinks +Multiviews DuldOverride alle erfordern alle gewährt SetHandler "Proxy: Unix:/var/run/php/php7.4-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 php74.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.

Testen Sie Ihr Setup

Bearbeiten /etc /hosts Datei in Ihrem lokalen System und erstellen Sie wie unten einen Eintrag. Dadurch werden temporäre Namen in die Lokalhost -IP -Adresse gelöst.

sudo vim /etc /hosts 

Fügen Sie den folgenden Eintrag zum Ende der Datei hinzu

127.0.0.1 Php74.Beispiel.com 127.0.0.1 Php56.Beispiel.com 

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

http: // php74.Beispiel.com:

http: // php56.Beispiel.com:

Abschluss

In diesem Tutorial können Sie mehrere Websites mit einer unterschiedlichen 2 PHP-Version auf einem Apache-Server auf einem Ubuntu 20 einrichten.04 System.