In genere, il gestore host utilizza il sistema separato per ogni distribuzione dell'applicazione della versione PHP. Che aumenta il costo di hosting. Alcuni dei gestori host utilizzano Docker per eseguire più versioni di PHP sul singolo server. Inoltre, la maggior parte di voi è a conoscenza della configurazione. Potrebbe essere che alcuni degli amministratori di sistema non ne siano a conoscenza. Questo tutorial ti aiuterà a installare più versioni di PHP con Apache sui sistemi Debian 11, Debian 10 e Debian 9 senza cambiare le versioni di PHP.
Questo tutorial descrive l'installazione e la configurazione di due VirtualHost su Apache con versioni PHP separate. Il primo VirtualHost funzionerà con PHP 5.6 e un altro VirtualHost funzionerà con PHP 7.2. Quindi segui questo tutorial. Puoi anche utilizzare più di due versioni di PHP con Apache come richiesto, ma questo tutorial ne copre solo due.
Installazione PHP
Per l'installazione delle versioni PHP, utilizziamo il PPA mantenuto qui. Usa i seguenti due comandi per aggiungere il PPA sul tuo sistema Debian.
sudo apt install ca-certificates apt-transport-https wget -q https://packages.sury.org/php/apt.gpg -O- | sudo apt-key add - echo "deb https://packages.sury.org/php/ stretch main" | sudo tee /etc/apt/sources.list.d/php.list
Questo tutorial utilizza PHP 5.6 e PHP 7.2 per la configurazione con il server Web Apache. Per utilizzare le versioni multiple di PHP, utilizzeremo PHP FPM e FastCGI. Esegui i seguenti comandi per installare PHP e FPM sul sistema Debian.
apt update sudo apt install php5.6 php5.6-fpm sudo apt install php7.2 php7.2-fpm
Dopo l'installazione, i servizi php-fpm verranno avviati automaticamente. Utilizza i seguenti comandi per assicurarti che entrambi i servizi siano in esecuzione.
sudo systemctl status php5.6-fpm sudo systemctl status php7.2-fpm
Installazione di Apache
Installa il server web Apache dal repository ufficiale. Avvia il terminale sul tuo sistema o accedi con ssh per i sistemi remoti. Esegui i seguenti comandi per installare l'ultima versione disponibile del server Web Apache.
sudo apt update sudo apt install apache2 libapache2-mod-fcgid
Configurazione Apache
Ora abilita alcuni moduli necessari per la configurazione di più versioni di PHP con Apache. Questi moduli sono necessari per integrare PHP FPM e FastCGI con il server Apache.
sudo a2enmod actions fcgid alias proxy_fcgi
Ora crea due directory separate sul tuo sistema per entrambi i siti che stanno configurando sul tuo sistema.
sudo mkdir /var/www/php56 sudo mkdir /var/www/php72
Ora crea e index.php contenente la funzione phpinfo(). Ciò aiuterà gli utenti a visualizzare e confermare quale versione di PHP è utilizzata da VirtualHost.
echo " <?php phpinfo(); ?> " > /var/www/php56/index.phpecho " <?php phpinfo(); ?> " > /var/www/php72/index.php
Iniziamo la creazione di VirtualHost. Apache mantiene tutti i file di configurazione di VirtualHost in /etc/apache2/sites-disponibili con estensione .conf. Crea un file per il primo host virtuale e modificalo nel tuo editor di testo preferito.
sudo vim /etc/apache2/sites-available/php56.example.com.conf
Aggiungi il seguente contenuto. Assicurati di utilizzare ServerName e percorso di directory corretti in base alla tua configurazione. Questo sito Web è configurato per funzionare con PHP 5.6.
Apache
12345678910111213 |
Allo stesso modo, crea un secondo file di configurazione di VirtualHost per lavorare con PHP 7.2. Modifica il file di configurazione nell'editor di testo:
sudo vim /etc/apache2/sites-available/php72.example.com.conf
Aggiungi il seguente contenuto al file con ServerName e DocumentRoot corretti.
Apache
123456789101112 |
Entrambi i siti Web sono ora configurati. Ma non sono ancora attivi. Apache mantiene i siti attivi nella directory /etc/apache2/sites-enabled. Puoi semplicemente creare un collegamento simbolico di file di configurazione a questa directory o utilizzare il comando seguente per fare lo stesso.
sudo a2ensite php56.example.com sudo a2ensite php72.example.com
Dopo aver apportato tutte le modifiche, riavvia Apache per ricaricare le nuove modifiche alle impostazioni.
sudo systemctl restart apache2
La tua configurazione è stata completata ora. Vai al passaggio successivo per testare la tua configurazione.
Configurazione del test
Apri un browser web e visita entrambi i siti. Vedrai che php56.example.com mostra la versione PHP 5.6 e php72.example.com mostra PHP 7.2 come configurazione.