Puoi eseguire più versioni php su Ubuntu senza alcun problema. Sono necessarie più versioni php se le applicazioni sono costruite in diverse versioni php come php 7.1 e php 7.2. Qui installeremo PHP7.0, PHP7.1, PHP7.2 e PHP7.3 sul server.
- In primo luogo, aggiungeremo PPA, utilizzando il comando seguente.
# sudo apt install software-properties-common
# sudo add-apt-repository ppa:ondrej/php
- Esegui il comando di aggiornamento.
# sudo apt update
- Installa PHP 7.2 con il comando seguente.
# sudo apt install php7.2 php7.2-fpm
- Installa le estensioni php usando i comandi seguenti.
# sudo apt install php7.2-mysql php7.2-mbstring php7.2-xml php7.2-gd php7.2-curl
- Ora, installa PHP 7.1 usando il comando seguente.
# sudo apt install php7.1 php7.1-fpm
- Installa le estensioni PHP7.1 comuni.
# sudo apt install php7.1-mysql php7.1-mbstring php7.1-xml php7.1-gd php7.1-curl
Puoi installare php 7.0 poiché abbiamo installato php 7.1 e 7.2
- Installa Nginx con il comando seguente.
# sudo apt install nginx
- Crea 2 cartelle per testare il sito web con PHP 7.1 e PHP 7.2
echo "<?php phpinfo();?>" > /var/www/php72/index.php
echo "<?php phpinfo();?>" > /var/www/php71/index.php
- Creeremo blocchi di server per entrambi i siti Web su Nginx.
# sudo nano /etc/nginx/sites-available/php71.example.com
Inserisci il seguente contenuto per il sito con PHP 7.1
# 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; } }
- Ora, crea un secondo file di configurazione di VirtualHost per lavorare con PHP 7.2.
# 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; } }
- Crea un collegamento simbolico per entrambi i file di configurazione che si trovano nella directory /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/
- Riavviamo Nginx.
# sudo systemctl restart nginx.service
- Puoi accedere a entrambi i siti Web nel browser e vedrai le diverse versioni per ciascuno.