Sie können problemlos mehrere PHP-Versionen auf Ubuntu ausführen. Sie benötigen mehrere PHP-Versionen, wenn Anwendungen in verschiedenen PHP-Versionen wie PHP 7.1 und PHP 7.2 erstellt werden. Hier werden wir PHP7.0, PHP7.1, PHP7.2 und PHP7.3 auf dem Server installieren.
- Zuerst fügen wir PPA mit dem folgenden Befehl hinzu.
# sudo apt install software-properties-common
# sudo add-apt-repository ppa:ondrej/php
- Führen Sie den Aktualisierungsbefehl aus.
# sudo apt update
- Installieren Sie PHP 7.2 mit dem folgenden Befehl.
# sudo apt install php7.2 php7.2-fpm
- Installieren Sie PHP-Erweiterungen mit den folgenden Befehlen.
# sudo apt install php7.2-mysql php7.2-mbstring php7.2-xml php7.2-gd php7.2-curl
- Installieren Sie jetzt PHP 7.1 mit dem folgenden Befehl.
# sudo apt install php7.1 php7.1-fpm
- Installieren Sie allgemeine PHP7.1-Erweiterungen.
# sudo apt install php7.1-mysql php7.1-mbstring php7.1-xml php7.1-gd php7.1-curl
Sie können PHP 7.0 installieren, da wir PHP 7.1 und 7.2 installiert haben
- Installieren Sie Nginx mit dem folgenden Befehl.
# sudo apt install nginx
- Erstellen Sie 2 Ordner zum Testen der Website mit PHP 7.1 und PHP 7.2
echo "<?php phpinfo();?>" > /var/www/php72/index.php
echo "<?php phpinfo();?>" > /var/www/php71/index.php
- Wir werden Serverblöcke für beide Websites auf Nginx erstellen.
# sudo nano /etc/nginx/sites-available/php71.example.com
Fügen Sie den folgenden Inhalt für die Seite mit PHP 7.1 ein
# Application with PHP 7.1 # server { listen 80; root /var/www/php71; index index.php; server_name php71.test.com; location ~* \.php$ { # With php-fpm unix sockets fastcgi_pass unix:/var/run/php/php7.1-fpm.sock; include fastcgi_params; fastcgi_param SCRIPT_FILENAME $document_root$fastcgi_script_name; fastcgi_param SCRIPT_NAME $fastcgi_script_name; } }
- Erstellen Sie jetzt eine zweite VirtualHost-Konfigurationsdatei, um mit PHP 7.2 zu arbeiten.
# sudo nano /etc/nginx/sites-available/php72.example.com
# Application with PHP 7.2 # server { listen 80; root /var/www/php72; index index.php; server_name php72.test.com; location ~* \.php$ { # With php-fpm unix sockets fastcgi_pass unix:/var/run/php/php7.2-fpm.sock; include fastcgi_params; fastcgi_param SCRIPT_FILENAME $document_root$fastcgi_script_name; fastcgi_param SCRIPT_NAME $fastcgi_script_name; } }
- Erstellen Sie einen symbolischen Link für beide Konfigurationsdateien im Verzeichnis /etc/nginx/sites-enabled.
# sudo ln -s /etc/nginx/sites-available/php71.example.com /etc/nginx/sites-enabled/
# sudo ln -s /etc/nginx/sites-available/php72.example.com /etc/nginx/sites-enabled/
- Lassen Sie uns Nginx neu starten.
# sudo systemctl restart nginx.service
- Sie können auf beide Websites im Browser zugreifen und sehen jeweils die verschiedenen Versionen.