GNU/Linux >> Znalost Linux >  >> Ubuntu

Jak nainstalovat více verzí PHP na Ubuntu 20.04, 18.04, 20.10

Tento tutoriál vám ukáže, jak instalovat více verzí PHP na Ubuntu a přimět konkrétního virtuálního hostitele Apache nebo bloku serveru Nginx používat jeden z nich. To je užitečné, když máte na serveru více webových aplikací, ale jedna nebo dvě z nich nejsou kompatibilní s verzí PHP ve výchozím úložišti Ubuntu. Úložiště Ubuntu 18.04 obsahuje PHP7.2 a úložiště Ubuntu 20.04 obsahuje PHP7.4. Uvidíme, jak nainstalovat PHP7.3 , PHP7.4 a PHP8.0 na jediném serveru Ubuntu.

Nainstalujte více verzí PHP na Ubuntu prostřednictvím PPA

Nejjednodušší způsob instalace více verzí PHP je pomocí PPA od Ondřeje Surého, který je vývojářem Debianu. Chcete-li přidat tento PPA, spusťte v terminálu následující příkazy. software-properties-common Pokud chcete nainstalovat software z PPA, potřebujete balíček. Nainstaluje se automaticky na plochu Ubuntu, ale na vašem serveru Ubuntu může chybět.

sudo apt install software-properties-common

sudo add-apt-repository ppa:ondrej/php

sudo apt update

Nyní můžete nainstalovat PHP8.0 na Ubuntu provedením následujícího příkazu.

sudo apt install php8.0 php8.0-fpm

A nainstalujte některá běžná rozšíření PHP8.0.

sudo apt install php8.0-mysql php8.0-mbstring php8.0-xml php8.0-gd php8.0-curl

Všechna dostupná rozšíření PHP7.4 můžete zobrazit zadáním sudo apt install php8.0 a stiskněte Tab dvakrát.

Chcete-li nainstalovat PHP7.4 na Ubuntu spusťte

sudo apt install php7.4 php7.4-fpm

Nainstalujte některá běžná rozšíření PHP7.4.

sudo apt install php7.4-mysql php7.4-mbstring php7.4-xml php7.4-gd php7.4-curl

PHP7.3 můžete nainstalovat stejným způsobem. Jednoduše nahraďte číslo verze v těchto příkazech.

Nápověda :PHP5.6, PHP7.0 a PHP7.2 dosáhly konce životnosti, ale stále můžete získat bezpečnostní opravy z tohoto PPA.

Přepnutí verze PHP ve virtuálním hostiteli Apache

Ve výchozím nastavení používá Apache jednu verzi PHP na všech virtuálních hostitelích. Pokud chcete v konkrétním virtuálním hostiteli používat jinou verzi PHP, budete muset deaktivovat modul Apache PHP a spustit kód PHP přes PHP-FPM. Zkontrolujte, zda mod_php je nainstalován.

dpkg -l | grep libapache2-mod-php

Pokud je nainstalován, musíte jej zakázat. Například mám libapache2-mod-php7.4 nainstalován na mém serveru Ubuntu 20.04,

Zakážu to spuštěním:

sudo a2dismod php7.4

Musíte také deaktivovat modul prefork MPM.

sudo a2dismod mpm_prefork

Nyní musíte spustit následující příkaz, abyste povolili tři moduly, abyste mohli používat PHP-FPM, bez ohledu na to, zda mod_php je nainstalován na vašem serveru.

sudo a2enmod mpm_event proxy_fcgi setenvif

Fragment konfigurace PHP-FPM se nachází na adrese /etc/apache2/conf-available/ .

Řekněme, že chcete použít PHP8.0 ve virtuálním hostiteli Apache, pak otevřete konfigurační soubor virtuálního hostitele a přidejte následující řádek do <VirtualHost> značky.

Include /etc/apache2/conf-available/php8.0-fpm.conf

Takhle:

Uložte a zavřete soubor. Poté zkontrolujte syntaxi.

sudo apachectl -t

Restartujte Apache, aby se změna projevila.

sudo systemctl restart apache2

Nyní řekněme, že chcete používat PHP7.3 ve virtuálním hostiteli Mautic, protože Mautic není kompatibilní s PHP7.4, pak přidejte následující řádek do svého virtuálního hostitele Mautic mezi <VirtualHost> a poté restartujte Apache.

Include /etc/apache2/conf-available/php7.3-fpm.conf

Chcete-li otestovat, kterou verzi PHP používá váš virtuální hostitel, můžete vytvořit info.php soubor v kořenovém adresáři vašeho dokumentu (řekněme /var/www/html ).

sudo nano /var/www/html/info.php

Do souboru vložte následující kód PHP.

<?php phpinfo(); ?>

Uložte a zavřete soubor. Poté do adresního řádku prohlížeče zadejte

your-domain.com/info.php

Přepnutí verze PHP v bloku serveru Nginx

Je velmi snadné přepnout verzi PHP v bloku serveru Nginx. Jak asi víte, Nginx spouští PHP kód přes PHP-FPM, který naslouchá na Unixovém socketu. Soubor soketu se nachází v /run/php/ adresář.

Jak můžete vidět ze snímku obrazovky, na mém serveru je několik souborů soketu PHP-FPM (.sock) odpovídajících různým verzím PHP. Váš blokový soubor serveru Nginx má obvykle následující fragment pro připojení k serveru PHP-FPM.

location ~ \.php$ {
    try_files $uri =404;
    fastcgi_pass unix:/run/php/php7.4-fpm.sock;
    fastcgi_index index.php;
    fastcgi_param SCRIPT_FILENAME $document_root$fastcgi_script_name;
    include fastcgi_params;
  }

Verze PHP, kterou Nginx používá, je určena třetím řádkem ve úryvku. Chcete-li použít PHP8.0 v konkrétním bloku serveru Nginx, změňte tento řádek na:

fastcgi_pass unix:/run/php/php8.0-fpm.sock;

Chcete-li použít PHP7.3 v bloku serveru Nginx, změňte tento řádek na

fastcgi_pass unix:/run/php/php7.3-fpm.sock;

Jsem si jistý, že nyní chápete. Uložte a zavřete soubor. Poté znovu načtěte Nginx, aby se změny projevily.

sudo systemctl reload nginx

Chcete-li otestovat, kterou verzi PHP používá váš blok serveru, můžete vytvořit info.php soubor v kořenovém adresáři vašeho dokumentu (řekněme /var/www/html ).

sudo nano /var/www/html/info.php

Do souboru vložte následující kód PHP.

<?php phpinfo(); ?>

Uložte a zavřete soubor. Poté do adresního řádku prohlížeče zadejte

your-domain.com/info.php

Jak nastavit výchozí verzi PHP pro příkazový řádek

Pokud na Ubuntu nainstalujete novější verzi PHP, stane se výchozí verzí pro příkazový řádek. Nainstaloval jsem PHP8.0, ale stále chci PHP7.4 jako výchozí verzi pro příkazový řádek.

Chcete-li nastavit výchozí verzi PHP příkazového řádku, spusťte následující příkaz.

sudo update-alternatives --config php

Chcete-li zkontrolovat aktuální verzi PHP příkazového řádku, spusťte

php --version


Ubuntu
  1. Jak nainstalovat PHP 7 na Ubuntu 14.04

  2. Jak nainstalovat PHP 7 na Ubuntu 15.04

  3. Jak nainstalovat PHP 7.2 na Ubuntu 16.04

  1. Jak nainstalovat PHP 7.3 na Ubuntu 16.04

  2. Jak nainstalovat PHP 7.3 na Ubuntu 18.04

  3. Jak spustit více verzí PHP s Nginx na Ubuntu?

  1. Jak nainstalovat PHP 7.4 / 7.3 / 7.2 na Ubuntu 18.04 / Ubuntu 16.04

  2. Jak nainstalovat PHP 8.0 na Ubuntu 20.04 / Ubuntu 18.04

  3. Jak nainstalovat PHP 7.3 na Ubuntu 18.04 LTS