Jak zainstalować wiele wersji PHP z Apache na Debian 11/10

Jak zainstalować wiele wersji PHP z Apache na Debian 11/10

Zasadniczo menedżer hosta używa osobnego systemu dla każdego wdrożenia aplikacji wersji PHP. Co zwiększa koszty hostingu. Niektórzy menedżerowie hosta używają Docker do uruchamiania wielu wersji PHP na jednym serwerze. Ponadto większość z was jest świadoma konfiguracji. Może być niektórzy administratorzy systemu nie są tego świadomi. Ten samouczek pomoże Ci zainstalować wiele wersji PHP z Apache w systemach Debian 11, Debian 10 i Debian 9 bez przełączania wersji PHP.

Ten samouczek opisuje instalację i konfigurację dwóch wirtualHost na Apache z osobnymi wersjami PHP. Pierwszy VirtualHost będzie działał z PHP 5.6 i kolejny wirtualhost będzie działał z PHP 7.2. Więc po prostu przejdź przez ten samouczek. Możesz także użyć więcej niż dwóch wersji PHP z Apache zgodnie z wymaganiami, ale ten samouczek obejmuje tylko dwa.

Instalacja PHP

Do instalacji wersji PHP używamy TUTAJ PPA. Użyj poniższych kilku poleceń, aby dodać PPA w swoim systemie Debian.

sudo apt instaluj certyfikaty CA apt-transport-https wget -q https: // pakiety.Sury.org/php/apt.GPG -O- | sudo apt -key add - echo "deb https: // pakiety.Sury.org/php/stretch Main "| sudo tee/etc/apt/źródła.lista.D/php.lista 

Ten samouczek używa php 5.6 i PHP 7.2 Aby skonfigurować z serwerem WWW Apache. Aby użyć wielu wersji PHP, użyjemy PHP FPM i FASTCGI. Uruchom następujące polecenia, aby zainstalować PHP i FPM w systemie Debian.

APT Aktualizacja sudo apt instal PHP5.6 php5.6-fpm sudo apt instaluj php7.2 php7.2-fpm 

Po instalacji usługi PHP-FPM zostaną uruchomione automatycznie. Użyj następujących poleceń, aby upewnić się, że obie usługi są uruchomione.

SUDO SystemCTL Status PHP5.6-FPM SUDO SystemCTL Status PHP7.2-fpm 

Instalacja Apache

Zainstaluj serwer WWW Apache z oficjalnego repozytorium. Uruchom terminal w systemie lub zaloguj się z SSH dla zdalnych systemów. Wykonaj następujące polecenia, aby zainstalować najnowszą dostępną wersję Apache Web Server.

sudo apt aktualizacja sudo appt instalacja apache2 libapache2-mod-fcgid 

Konfiguracja Apache

Teraz włącz kilka modułów wymaganych do konfiguracji wielu wersji PHP z Apache. Te moduły są niezbędne do zintegrowania PHP FPM i FASTCGI z serwerem Apache.

sudo a2enmod działania fcgid alias proxy_fcgi 

Teraz utwórz dwa sekty w swoim systemie dla obu witryn konfigurujących w systemie.

sudo mkdir/var/www/php56 sudo mkdir/var/www/php72 

Teraz utwórz i indeks.PHP zawierający funkcję phpinfo (). Pomoże to użytkownikom przeglądać i potwierdzić, jakiej wersji PHP jest używana przez VirtualHost.

echo "">/var/www/php56/indeks.php echo "">/var/www/php72/indeks.php 

Zacznijmy tworzenie VirtualHost. Apache przechowuje wszystkie pliki konfiguracyjne VirtualHost w ramach/etc/apache2/witryny-za pomocą rozszerzenia .conf. Utwórz plik dla pierwszego wirtualnego hosta i edytuj w swoim ulubionym edytorze tekstu.

sudo vim/etc/apache2/witryny-dostępny/php56.przykład.com.conf 

Dodaj następującą zawartość. Pamiętaj, aby używać poprawnej nazwy Servern i katalogu zgodnie z konfiguracją. Ta strona jest skonfigurowana do pracy z PHP 5.6.

Servername PHP56.przykład.com DocumentRoot/var/www/php56 Opcje -INDEXES +FONDSYMLINKS +MultiViews Updetoverride wszystkie wymagają wszystkiego przyznanego # Apache 2.4.10+ Can Can Shows to Unix Socket Sethandler „Proxy: UNIX:/var/run/php/php5.6-fpm.Sock | fcgi: // localhost/"
12345678910111213 Servername PHP56.przykład.com dokumentroot/var/www/php56 Opcje -INDEXES +FONDESSYMLINKS +Multivistls Updetoverride Wszystkie wymagają wszystkich przyznanych # Apache 2.4.10+ Can Can Shows to Unix Socket Sethandler „Proxy: UNIX:/var/run/php/php5.6-fpm.Sock | fcgi: // localhost/"

Podobnie utwórz drugi plik konfiguracyjny VirtualHost do pracy z PHP 7.2. Edytuj plik konfiguracyjny w edytorze tekstu:

sudo vim/etc/apache2/witryny-dostępny/php72.przykład.com.conf 

Dodaj następującą zawartość do pliku za pomocą odpowiedniej nazwy Servern i DocumentRoot.

Servername PHP72.przykład.com DocumentRoot/var/www/php72 Opcje -INDEXES +FONDSYMLINKS +MultiViews Updetoverride wszystkie wymagają wszystkich przyznanych Sethandler „Proxy: UNIX:/var/run/php/php7.2-fpm.Sock | fcgi: // localhost/"
123456789101112 Servername PHP72.przykład.com dokumentroot/var/www/php72 Opcje -INDEXES +FONDESSYMLINKS +Multivistls Updetoverride Wszystkie wymagają wszystkich przyznanych Sethandler "Proxy: UNIX:/var/run/php/php7.2-fpm.Sock | fcgi: // localhost/"

Obie strony internetowe są teraz skonfigurowane. Ale nadal nie są aktywni. Apache przechowuje aktywne witryny w katalogu/etc/apache2/witryny. Możesz po prostu utworzyć symboliczny link plików konfiguracyjnych do tego katalogu lub użyć poniższego polecenia, aby zrobić to samo.

sudo a2ensite php56.przykład.com sudo a2ensite php72.przykład.com 

Po dokonaniu wszystkich zmian uruchom ponownie Apache, aby ponownie załadować nowe zmiany Ustawienia.

sudo systemctl restart apache2 

Twoja konfiguracja została już zakończona. Przejdź do następnego kroku, aby przetestować konfigurację.

Konfiguracja testowa

Otwórz przeglądarkę internetową i odwiedź obie strony. Zobaczysz to php56.przykład.com pokazuje wersję PHP 5.6 I php72.przykład.com pokazuje PHP 7.2 jako konfiguracja.