GNU/Linux >> Linux Esercitazione >  >> Debian

Come installare più versioni di PHP con Apache su Debian 11/10

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.php
echo "<?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 ServerName php56.example.com DocumentRoot /var/www/php56 Opzioni -Indexes +FollowSymLinks +MultiViews AllowOverride All Richiedi tutto concesso # Apache 2.4.10+ può inviare proxy a unix socket SetHandler "proxy:unix:/var/run/php/php5.6-fpm.sock|fcgi://localhost/"

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 ServerName php72.example.com DocumentRoot /var/www/php72 Opzioni -Indici +FollowSymLinks +MultiViews AllowOverride All Richiedi tutti concessi SetHandler "proxy:unix:/var/run/php/php7.2-fpm.sock|fcgi://localhost/"

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.


Debian
  1. Come installare PHP 8.0 su Debian 11

  2. Come installare PHP 8.0 su Debian 10 / Debian 9

  3. Come installare Webmin su Debian 10/11

  4. Come installare PHP 7.4 su Debian 10

  5. Come installare PHP 8 su Debian 10

Come installare Google Chrome su Debian 10/11

Come installare phpMyAdmin con Apache su Debian 11 / Debian 10

Come installare l'ultimo PHP 8.1 su Debian 11/10

Come installare più versioni PHP con Apache su Ubuntu 18.04 e 16.04

Come installare Apache con PHP-FPM su Debian 10

Come installare Apache Kafka su Debian 10/9