PHP je jedním z nejpoužívanějších programovacích jazyků na straně serveru. Mnoho populárních CMS a frameworků jako WordPress, Magento a Laravel je napsáno v PHP.
PHP 8.0 je nejnovější hlavní vydání jazyka PHP. Zavádí několik převratných změn, vylepšení výkonu a spoustu nových funkcí, jako jsou pojmenované argumenty, kompilátor JIT, sjednocovací typy, výraz shody a další.
Tento článek vám ukáže, jak nainstalovat PHP 8 na Ubuntu 20.04 a jak jej integrovat s Nginx a Apache.
V době psaní tohoto článku zahrnují výchozí úložiště Ubuntu 20.04 verzi PHP 7.4. Nainstalujeme PHP z repozitáře ondrej/phpPPA.
Před upgradem nebo instalací PHP 8 se ujistěte, že jej vaše aplikace podporují.
Stejné kroky platí pro Ubuntu 18.04 a všechny distribuce založené na Ubuntu, včetně Kubuntu, Linux Mint a Elementary OS.
Povolení úložiště PHP #
Ondřej Surý, vývojář Debianu, spravuje úložiště, které obsahuje více verzí PHP. Chcete-li povolit úložiště, spusťte:
sudo apt install software-properties-common
sudo add-apt-repository ppa:ondrej/php
Jakmile je PPA povoleno, můžete nainstalovat PHP 8.
Instalace PHP 8.0 s Apache #
Pokud používáte webový server Apacheas, můžete spouštět PHP jako modul Apache nebo PHP-FPM.
Instalovat PHP jako modul Apache #
Instalace PHP jako modulu Apache je jednoduchý úkol:
sudo apt update
sudo apt install php8.0 libapache2-mod-php8.0
Jakmile jsou balíčky nainstalovány, restartujte Apache, aby se modul PHP načetl:
sudo systemctl restart apache2
Konfigurace Apache pomocí PHP-FPM #
Php-FPM je správce procesů FastCGI pro PHP. Spuštěním následujícího příkazu nainstalujte potřebné balíčky:
sudo apt update
sudo apt install php8.0-fpm libapache2-mod-fcgid
Ve výchozím nastavení není PHP-FPM v Apache povoleno. Chcete-li jej povolit, spusťte:
sudo a2enmod proxy_fcgi setenvif
sudo a2enconf php8.0-fpm
Pro aktivaci změn restartujte Apache:
systemctl restart apache2
Instalace PHP 8.0 s Nginx #
Nginx nemá vestavěnou podporu pro zpracování souborů PHP. Ke zpracování souborů PHP použijeme PHP-FPM („fastCGI process manager“).
Chcete-li nainstalovat balíčky PHP a PHP FPM, spusťte následující příkazy:
sudo apt update
sudo apt install php8.0-fpm
Po dokončení instalace se služba FPM automaticky spustí. Chcete-li zkontrolovat stav služby, spusťte
systemctl status php8.0-fpm
● php8.0-fpm.service - The PHP 8.0 FastCGI Process Manager
Loaded: loaded (/lib/systemd/system/php8.0-fpm.service; enabled; vendor preset: enabled)
Active: active (running) since Thu 2020-12-03 16:10:47 UTC; 6s ago
Nyní můžete upravit blokování serveru Nginx a přidat následující řádky, aby Nginx mohl zpracovávat soubory PHP:
server {
# . . . other code
location ~ \.php$ {
include snippets/fastcgi-php.conf;
fastcgi_pass unix:/run/php/php8.0-fpm.sock;
}
}
Nezapomeňte restartovat služby Nginx, aby se nová konfigurace projevila:
sudo systemctl restart nginx
Instalace rozšíření PHP #
Rozšíření PHP jsou zkompilované knihovny, které rozšiřují základní funkce PHP. Rozšíření jsou k dispozici jako balíčky a lze je snadno nainstalovat pomocí apt
:
sudo apt install php8.0-[extname]
Chcete-li například nainstalovat rozšíření MySQL a GD, spustili byste následující příkaz:
sudo apt install php8.0-mysql php8.0-gd
Po instalaci nového rozšíření PHP nezapomeňte restartovat Apache nebo službu PHP FPM, v závislosti na vašem nastavení.
Testování zpracování PHP #
Chcete-li otestovat, zda je webový server správně nakonfigurován pro zpracování PHP, vytvořte nový soubor s názvem info.php
uvnitř /var/www/html
adresář s následujícím kódem:
<?php
phpinfo();
Uložte soubor, otevřete prohlížeč a navštivte:http://your_server_ip/info.php
.
Zobrazí se informace o konfiguraci PHP podobné následujícímu: