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 dozvíte, jak importovat modul REMI a nainstalovat PHP 8.1 na váš systém Fedora 35.
Aktualizovat systém Fedory
Aktualizujte svou Fedoru operační systém, abyste se ujistili, že všechny existující balíčky jsou aktuální:
sudo dnf upgrade --refresh -y
Instalace/import PHP 8.1 Remi Repository
V současné době není PHP 8.1 součástí Fedory 35. To však lze snadno opravit instalací a povolením úložiště Remi, a bezplatné a stabilní úložiště YUM/DNF hlavně pro zásobník PHP. Obsahuje balíčky pro nejnovější verze PHP.
Chcete-li nainstalovat import a nainstalovat remi repo, použijte následující (dnf) příkaz terminálu:
sudo dnf install http://rpms.remirepo.net/fedora/remi-release-35.rpm
Dále ověřte instalaci.
dnf repolist | grep remi
Příklad výstupu:
remi-modular Remi's Modular repository - Fedora 35 - x86_64
Situační – odstranění stávající instalace PHP
Pro uživatele, kteří chtějí nainstalovat PHP 8.1, ale již nainstalovali PHP nebo PHP-FPM, odeberte předchozí verzi. 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
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
Nyní můžete přejít k další části tutoriálu.
Povolit úložiště PHP 8.1 (Remi)
PHP 8.0 je výchozí volbou PHP pro standardní instalace Fedory 35.
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
Budete vyzváni k importu klíče GPG pro úložiště Remi. Pokud na něj narazíte, zadejte (Y) a pokračujte.
Dále povolte PHP 8.1 pomocí následujícího příkazu:
sudo dnf module enable php:remi-8.1
Příklad výstupu:
Instalovat PHP 8.1 na Fedoru
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
Uživatelé Nginx:
sudo dnf install php-fpm
Příklad výstupu:
Zadejte Y poté stiskněte klávesu ENTER pokračujte v instalaci.
Poznámka:Budete vyzváni k dalším importům klíče GPG.
Příklad:
Zadejte Y poté stiskněte klávesu ENTER pokračujte v instalaci.
Volitelně, pokud chcete nainstalovat nejběžněji používaná rozšíření pro PHP 8.1, použijte následující příkaz:
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
Poznámka, odeberte možnosti, které nechcete, je to volitelné. Důrazně se doporučuje nainstalovat a ponechat si pouze ty moduly, které požadujete z výkonu a zabezpečení.
Příklad výstupu:
Zadejte Y poté stiskněte klávesu ENTER pokračujte v instalaci.
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