So installieren Sie mehrere PHP -Versionen mit Apache auf Debian 11/10
- 710
- 98
- Madleen Vater
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 |
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 |
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.
- « So installieren und verwenden Sie Cordova auf CentOS/RHEL 7/6/5
- So installieren Sie MySQL auf Ubuntu 18.04 (bionisch) »