So konfigurieren Sie mehrere PHP -Versionen mit Apache auf Ubuntu

So konfigurieren Sie mehrere PHP -Versionen mit Apache auf Ubuntu

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 -Versionen auf einem 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 22 installieren.04, 20.04 und 18.04 LTS -Systeme, 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 8 zusammenarbeiten.1 und ein weiterer virtualHost wird mit PHP 7 ausgeführt.4. 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.

APache2 installieren

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 

Aktivieren Sie nun einige 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 

Installieren von PHP -Versionen

Für die Installation von PHP -Versionen verwenden wir die hier gehaltene PPA. 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 Php 8.1 und Php 7.4 So konfigurieren Sie mit dem Apache -Webserver. Um die mehreren PHP -Versionen zu verwenden, verwenden wir PHP FPM und FastCGI. Installieren wir die folgenden Pakete in Ihrem System.

sudo APT Update sudo APT Installieren Sie PHP8.1 Php8.1-fpm sudo APT Installieren Sie PHP7.4 Php7.4-fpm 

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

sudo systemctl Status Php8.1-fpm sudo systemctl Status PHP7.4-fpm 
  • Sie mögen mögen: So aktivieren/deaktivieren Sie PHP -Module auf Ubuntu

Konfigurieren von Apache -virtuellen Hosts

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/php81 sudo mkdir/var/www/php74 

Erstellen Sie einen Index.PHP -Datei, die die enthält phpinfo () Funktion.

Echo "" | sudo tee -a/var/www/php81/Index.PHP Echo "" | sudo tee -a/var/www/php74/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/php81.Beispiel.com.Conf 

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

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

Erstellen Sie in ähnlicher Weise eine zweite VirtualHost -Konfigurationsdatei für die Arbeit mit PHP 7.4. 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.

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

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 in dieses Verzeichnis erstellen oder den folgenden Befehl verwenden, um dasselbe zu tun.

sudo a2ensit php81.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.

Versuchsaufbau

Bearbeiten /etc /hosts Datei in Ihrem lokalen System und erstellen Sie wie unten einen Eintrag. Dadurch werden Temprory -Namen an 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 Php81.Beispiel.com 127.0.0.1 Php74.Beispiel.com 

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

  • http: // php81.Beispiel.com
    Php 8.1 mit Apache
  • http: // php74.Beispiel.com
    Php 7.4 mit Apache

Abschluss

Dieses Tutorial hat Ihnen geholfen, mehrere PHP -Versionen mit Apache auf dem Ubuntu Linux -System zu installieren und zu konfigurieren. Dies bietet Ihnen eine kostengünstige Lösung, um verschiedene PHP-Versionsanwendungen auf einem einzigen Webserver bereitzustellen.