PHP je populární univerzální skriptovací jazyk zvláště vhodný pro vývoj webových aplikací. Je rychlý, flexibilní a pragmatický a pohání vše od blogů po nejoblíbenější webové stránky na světě. PHP nabízí rozsáhlou podporu pro různé databáze, což z něj činí základní nástroj pro skriptování na straně serveru.
Následující průvodce demonstruje kroky k instalaci PHP na Rocky Linux 9 nebo 8 pomocí příkazů příkazového řádku. Metoda instalace zahrnuje použití úložiště Remi RPM pro nejnovější stabilní sestavení PHP 8.1, 8.2 a 8.3.
Importujte Remi PHP RPM Repo
Aktualizujte Rocky Linux před instalací PHP
Začněte aktualizací systému Rocky Linux, abyste se připravili na instalaci PHP. Otevřete terminál a zadejte:
sudo dnf upgrade --refresh
Importujte úložiště PHP Remi
Nastavení úložiště EPEL
EPEL (Extra Packages for Enterprise Linux) je zásadní pro další softwarové balíčky v Rocky Linuxu. Níže jsou uvedeny dvě možnosti instalace EPEL na Rocky Linux pro nejnovější verzi EL9 nebo EL8.
Import EPEL pro Rocky Linux 9
Povolit CRB
CRB poskytuje přístup k dalším vývojovým nástrojům. Použití:
sudo dnf config-manager --set-enabled crb
Nainstalujte úložiště EPEL
Chcete-li získat nejnovější vydání EPEL pro Rocky Linux 9:
sudo dnf install \
https://dl.fedoraproject.org/pub/epel/epel-release-latest-9.noarch.rpm \
https://dl.fedoraproject.org/pub/epel/epel-next-release-latest-9.noarch.rpm
Zahrňte úložiště Remi určené pro EL 9:
sudo dnf install dnf-utils http://rpms.remirepo.net/enterprise/remi-release-9.rpm -y
Import EPEL pro Rocky Linux 8
Povolte úložiště PowerTools
PowerTools je nezbytný pro vývojové nástroje PHP.
sudo dnf config-manager --set-enabled powertools
Povolte EPEL pro Rocky Linux 8
Nainstalujte úložiště EPEL pro Rocky Linux 8:
sudo dnf install \
https://dl.fedoraproject.org/pub/epel/epel-release-latest-8.noarch.rpm \
https://dl.fedoraproject.org/pub/epel/epel-next-release-latest-8.noarch.rpm
Importujte úložiště Remi EL 8
S nainstalovaným EPEL importujte Remi RPM obsahující PHP pro EL 8:
sudo dnf install dnf-utils http://rpms.remirepo.net/enterprise/remi-release-8.rpm -y
Povolte PHP (8.x) z úložiště Remi
Ověřování verzí PHP
Začněte potvrzením dostupných verzí PHP v úložišti Remi. Tím zajistíte, že budete mít přístup k požadované verzi PHP.
Spustit v terminálu:
dnf module list php
Pokud budete vyzváni, importujte klíč GPG pro úložiště Remi zadáním (Y).
Výběr verze PHP
Povolit PHP 8.3
Chcete-li nainstalovat PHP 8.3, stabilní a nejnovější verzi, použijte:
sudo dnf module enable php:remi-8.3 -y
Povolit PHP 8.2
Pro PHP 8.2, vhodné pro aplikace vyžadující tuto konkrétní verzi:
sudo dnf module enable php:remi-8.2 -y
Povolit PHP 8.1
Chcete-li povolit PHP 8.1, ideální pro kompatibilitu s určitými aplikacemi:
sudo dnf module enable php:remi-8.1 -y
Dokončete instalaci PHP
Instalace PHP pro podporu Apache nebo Nginx
Po povolení úložiště Remi PHP můžete nainstalovat PHP přizpůsobené potřebám vašeho webového serveru, buď Apache nebo Nginx.
Instalace Apache (httpd) PHP
sudo dnf install php php-cli -y
Instalace Nginx PHP
sudo dnf install php-fpm php-cli -y
Ověření instalace PHP
Potvrďte instalaci PHP spuštěním:
php -v
Instalace rozšíření PHP
Nainstalujte základní rozšíření PHP na základě potřeb vašeho projektu. Neinstalujte všechna rozšíření, abyste zachovali optimální výkon a zabezpečení.
Standartní instalace
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
Zjednodušená instalace
Pro kompaktní instalační příkaz:
sudo dnf install php-{cli,fpm,curl,mysqlnd,gd,opcache,zip,intl,common,bcmath,imagick,xmlrpc,json,readline,memcached,redis,mbstring,apcu,xml,dom,memcache}
Nyní si pojďme rozebrat, co každé z těchto rozšíření PHP dělá:
- php-cli: Rozhraní příkazového řádku pro PHP, užitečné při spouštění PHP skriptů v shellu.
- php-fpm: FastCGI Process Manager, užitečný pro zpracování a obsluhu požadavků PHP.
- php-curl: Umožňuje připojení a komunikaci s různými typy serverů a protokolů.
- php-mysqlnd: Nativní ovladač MySQL, používaný pro připojení k databázi MySQL.
- php-gd: Graphics Draw, užitečné pro vytváření a manipulaci se soubory obrázků.
- php-opcache: Operační mezipaměť používaná k urychlení provádění PHP.
- php-zip: Umožňuje pracovat s archivy zip.
- php-intl: Rozšíření internacionalizace pro práci s mezinárodními znakovými sadami a národními prostředími.
- php-common: Běžné soubory a nastavení používané více moduly PHP.
- php-bcmath: Binární kalkulačka umožňuje libovolně přesnou matematiku.
- php-imagick: Poskytuje metody pro vytváření a úpravu obrázků pomocí knihovny ImageMagick.
- php-xmlrpc: Umožňuje vytvoření serveru XML-RPC a usnadňuje odesílání požadavků XML-RPC.
- php-json: Rozšíření JSON (JavaScript Object Notation) pro kódování a dekódování dat JSON.
- php-readline: Umožňuje čtení řádku dat z terminálu.
- php-memcached: Poskytuje rychlé, distribuované ukládání objektů do mezipaměti.
- php-redis: Rozšíření PHP pro propojení s Redis.
- php-mbstring: Vícebajtový řetězec pro zpracování ne-ASCII řetězců.
- php-apcu: APC User Cache, rozšíření mezipaměti uživatelů založené na APC.
- php-xml: XML Parser pro analýzu dokumentů XML.
- php-dom: Objektový model dokumentu pro manipulaci s dokumenty XML objektově orientovaným způsobem.
- php-memcache: Poskytuje praktické procedurální a objektově orientované rozhraní pro memcached.
- php-mýdlo: Používá se pro zápis SOAP serverů a klientů.
- php-ldap: Lightweight Directory Access Protocol používaný pro přístup a správu adresářových informací.
- php-pdo: PHP Data Objects, vrstva pro přístup k databázi poskytující jednotnou metodu přístupu k více databázím.
K zobrazení načtených modulů můžete kdykoli použít následující příkaz.
php -m
Pro efektivitu výkonu se doporučuje pravidelné monitorování a odstraňování nepotřebných modulů.
Instalace vývojových nástrojů PHP
Pro účely vývoje nainstalujte vývojovou větev PHP a nástroje pro ladění:
Vývojová větev PHP
sudo dnf install php-devel
Nástroje pro ladění PHP
sudo dnf install php-xdebug php-pcov
Je důležité poznamenat, že instalace této verze přinese více závislostí a nedoporučuje se to dělat, pokud to nemáte specifickou potřebu při vývoji PHP nebo nějaké speciální požadavky.
Nakonfigurujte uživatele PHP-FPM Nginx na Rocky Linux
Úprava PHP-FPM pro Nginx
Distribuce založené na RHEL, jako je Rocky Linux, ve výchozím nastavení používají uživatele „Apache“ pro PHP-FPM, což není vhodné pro nastavení Nginx. Pro optimální fungování s Nginx je nezbytné toto upravit.
Úprava konfigurace PHP-FPM
Otevřete konfigurační soubor
Přístup k www.conf
soubor pro úpravu:
sudo nano /etc/php-fpm.d/www.conf
Upravte nastavení uživatele a skupiny
Změňte v souboru uživatele a skupinu Apache na Nginx.
Úprava příspěvku:
Uložte změny stisknutím (CTRL+O), poté ukončete pomocí (CTRL+X).
Restartujte službu PHP-FPM
Po úpravě konfigurace restartujte PHP-FPM, abyste použili změny:
sudo systemctl restart php-fpm
Příklad blokového kódu serveru Nginx PHP-FPM
Konfigurace Nginx pro zpracování PHP
Aby Nginx mohl pracovat se soubory PHP, musí být serverový blok správně nakonfigurován. Následující příklad ukazuje potřebné nastavení v rámci server{}
blok pro zpracování souborů PHP.
Konfigurace Nginx PHP-FPM
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;
}
Ověření konfigurace Nginx
Po aktualizaci konfigurace ji ověřte, aby nedošlo k syntaktickým chybám.
sudo nginx -t
Očekávaný výstup by měl potvrdit správnost konfigurace:
nginx: the configuration file /etc/nginx/nginx.conf syntax is ok
nginx: configuration file /etc/nginx/nginx.conf test is successful
Restartování služby Nginx
Chcete-li použít změny, restartujte službu Nginx:
sudo systemctl restart nginx
Tento restart je nezbytný pro změny a pro to, aby Nginx začal zpracovávat soubory PHP s novou konfigurací.
Závěr
Dobře, tím naše cesta končí! Úspěšně jsme nastavili PHP na Rocky Linux, vyladili ho pro Apache nebo Nginx a doladili PHP-FPM pro optimální výkon. Pamatujte, že pravidelná kontrola vašich PHP modulů a konfigurací zajišťuje hladký chod. A po jakýchkoli změnách nezapomeňte restartovat své služby.