PHP 8.1 je významná aktualizace jazyka PHP vydaná 25. listopadu 2021. Jedná se o standardní budoucí upgrade ze stávající verze PHP 8.0. Nové PHP 8.1 přináší mezi dlouhý seznam nových funkcí a změn výčty, vlákna, typ nikdy nevrací, konstanty konečné třídy, typy průniků a vlastnosti pouze pro čtení.
V následujícím tutoriálu se naučíte, jak nainstalovat PHP 8.1 na Fedora 36 Linux importem úložiště REMI. Výukový program nainstaluje rozšíření vývojové sady a několik tipů pro Nginx a PHP-FPM pomocí terminálu příkazového řádku.
Aktualizovat Fedoru
Než budete pokračovat, doporučujeme vašemu systému, aby se ujistil, že všechny existující balíčky jsou aktuální, aby se předešlo konfliktům systému během instalace a aby byla zajištěna dobrá údržba systému.
sudo dnf upgrade --refresh -y
Instalace/import PHP 8.1 Remi Repository
Chcete-li nainstalovat import a nainstalovat úložiště Remi, použijte následující (dnf) příkaz terminálu:
sudo dnf install http://rpms.remirepo.net/fedora/remi-release-36.rpm -y
Situační – odstranění stávající instalace PHP
Pro uživatele, kteří chtějí nainstalovat PHP 8.1, ale již si nainstalovali PHP nebo PHP-FPM, je často nejlepší odstranit předchozí verzi místo pouhé výměny modulu a slepého upgradu. Například odeberte PHP 8.0 pro PHP 8.1.
Nezapomeňte si zálohovat všechny konfigurační soubory.
sudo dnf remove php php-fpm -y
Pro uživatele PHP-FPM zastavte službu.
sudo systemctl stop php-fpm
Poté odstraňte zbytek rozšíření balíčku.
sudo dnf remove php* -y
Obnovení seznamu modulů PHP je snadné pomocí následujícího příkazu:
sudo dnf module list reset php -y
Povolit úložiště PHP 8.1 (Remi)
PHP 8.0 je výchozí volbou PHP pro standardní instalace Fedory 36.
Rychlý tip je použít (seznam php) zobrazíte dostupné možnosti a výchozí.
Umí to následující příkaz dnf module list:
sudo dnf module list php
Získáte následující výstup, jak je uvedeno níže.
Příklad:
Dále povolte PHP 8.1 pomocí následujícího příkazu:
sudo dnf module enable php:remi-8.1 -y
Instalovat PHP 8.1
Nyní, když jste přidali úložiště Remi PHP a povolili PHP 8.1 jako výchozí verzi ve vašem systému Fedora, můžete nainstalovat PHP 8.1 pomocí následujícího příkazu:
Uživatelé Apache (HTTPD):
sudo dnf install php php-cli
Uživatelé Nginx:
sudo dnf install php-fpm php-cli
Volitelně, pokud chcete nainstalovat nejběžněji používaná rozšíření pro PHP 8.1, vyberte, která by nejlépe vyhovovala vaší situaci při vývoji nebo provozování vašich služeb.
sudo dnf install php-cli php-fpm php-curl php-mysqlnd php-gd php-opcache php-zip php-intl php-common php-bcmath php-imagick php-xmlrpc php-json php-readline php-memcached php-redis php-mbstring php-apcu php-xml php-dom php-redis php-memcached php-memcache
NEKOPÍRUJTE A NEVKLÁDEJTE CELÝ PŘÍKAZ ROZŠÍŘENÍ VÝŠE.
INSTALUJTE POUZE VOLITELNÉ MODULY, KTERÉ POŽADUJETE PRO ZABEZPEČENÍ A ÚČELY VÝKONU.
Nakonec použijte následující příkaz pro každého, kdo má zájem o instalaci vývojové větve.
sudo dnf install php-devel -y
Nyní, když jste nainstalovali PHP 8.1 a rozšíření, zkontrolujte verzi pomocí následujícího příkazu:
php -v
Příklad výstupu:
Instalace PHP-FPM PHP 8.1
Na rozdíl od instalací PHP-FPM na Debian/Ubuntu, které používají (www-data) uživatele, toto není případ instalací rodiny RHEL. Ve výchozím nastavení na Fedoře je služba PHP-FPM navržena tak, aby byla spuštěna (Apache) uživatel, což je nesprávné, protože používáme Nginx, a to bylo potřeba opravit.
Nejprve otevřete následující (www.conf) konfigurační soubor:
sudo nano /etc/php-fpm.d/www.conf
Dále nahraďte (Apache) uživatele a skupinu s (Nginx) uživatel a skupina:
Pro uložení stiskněte (CTRL+O) poté ukončete (CTRL+X) .
Nyní také znovu načtete nebo restartujete službu PHP-FPM:
sudo systemctl restart php-fpm
Konfigurace Nginx
Blok serveru Nginx potřebuje následující příklad níže, aby Nginx zpracoval soubory PHP.
Níže příklad pro všechny servery{} bloky, které zpracovávají soubory PHP, které potřebují umístění ~ .php$ přidáno.
location ~ \.php$ {
try_files $uri =404;
fastcgi_pass unix:/run/php-fpm/www.sock;
fastcgi_index index.php;
fastcgi_param SCRIPT_FILENAME $document_root$fastcgi_script_name;
include fastcgi_params;
}
Otestujte Nginx, abyste se ujistili, že nemáte žádné chyby s úpravami provedenými pomocí výše uvedeného kódu; zadejte následující.
sudo nginx -t
Příklad výstupu:
nginx: the configuration file /etc/nginx/nginx.conf syntax is ok
nginx: configuration file /etc/nginx/nginx.conf test is successful
Restartujte službu Nginx, aby byla instalace dokončena.
sudo systemctl restart nginx