PHP je široce používaný skriptovací jazyk na straně serveru určený pro vývoj webových aplikací, ale také používaný jako univerzální programovací jazyk. Je zvláště oblíbený pro vytváření dynamických a interaktivních webových stránek. Instalace nejnovějších verzí PHP, jako je 8.3, 8.2 nebo 8.1, zajistí, že budete mít přístup k nejnovějším funkcím, vylepšením výkonu a bezpečnostním záplatám. Na CentOS Stream 9 můžete tyto verze snadno nainstalovat pomocí úložiště Remi RPM, které je známé tím, že poskytuje aktuální balíčky PHP.
Tato příručka vás provede procesem aktivace úložiště Remi a instalace nejnovějších sestavení PHP na CentOS Stream 9.
Importujte Remi PHP RPM na CentOS
Aktualizace streamu CentOS před instalací PHP
Je důležité začít aktualizací systému CentOS Stream, aby byly všechny stávající balíčky aktuální. Tento krok je nezbytný pro stabilitu a bezpečnost systému.
Otevřete terminál a proveďte následující příkaz pro aktualizaci systému:
sudo dnf upgrade --refresh
Tento příkaz obnoví vaši databázi balíčků a upgraduje všechny nainstalované balíčky na jejich nejnovější dostupné verze.
Import Remi PHP RPM Repository
Remi PHP repozitář je úložiště třetí strany, které nabízí nejnovější verze PHP. Před přidáním úložiště Remi musíte nainstalovat úložiště EPEL, které poskytuje další balíčky pro Enterprise Linux.
Nejprve se doporučuje povolit úložiště CodeReady Linux Builder (CRB), i když je volitelné. Poskytuje další vývojářské nástroje a knihovny. Povolit CRB pomocí:
sudo dnf config-manager --set-enabled crb
Po povolení CRB nainstalujte úložiště EPEL pro EL9 pomocí:
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
Nakonec importujte úložiště Remi PHP pro EL9:
sudo dnf install dnf-utils http://rpms.remirepo.net/enterprise/remi-release-9.rpm -y
Povolení PHP Remi Repository na CentOS Stream
Výpis dostupných PHP modulů
Před instalací PHP je nezbytné identifikovat dostupné verze PHP v úložišti Remi. Tento krok vám pomůže učinit informované rozhodnutí o tom, kterou verzi nainstalovat.
Pro výpis všech modulů PHP použijte následující příkaz:
dnf module list php
Tento příkaz zobrazí všechny verze PHP dostupné v úložišti Remi. Je to zásadní krok k tomu, abyste si vybrali verzi, která nejlépe vyhovuje vašim požadavkům.
Import GPG klíče pro Remiho úložiště
Po zobrazení výzvy musíte potvrdit import klíče GPG pro úložiště Remi. Tento krok je životně důležitý z bezpečnostních důvodů, protože ověřuje pravost balíčků, které se chystáte nainstalovat. Když budete vyzváni k pokračování v importu, zadejte „Y“.
Aktivace požadované verze PHP
Po potvrzení dostupných verzí PHP můžete povolit konkrétní verzi, která vyhovuje vašim potřebám. Pro vaše projekty je vhodné vybrat stabilní a dobře podporovanou verzi PHP.
Chcete-li povolit konkrétní verzi PHP z úložiště Remi, použijte následující příkazy:
sudo dnf module enable php:remi-8.3 -y
sudo dnf module enable php:remi-8.2 -y
sudo dnf module enable php:remi-8.1 -y
Každý příkaz aktivuje jinou verzi PHP z úložiště Remi. Vyberte příkaz, který odpovídá verzi, kterou chcete nainstalovat. Příznak '-y' v těchto příkazech označuje automatické potvrzení instalace, což zjednodušuje proces.
Nainstalujte PHP 8.3, 8.2 nebo 8.1 na CentOS Stream
Výběr webového serveru pro instalaci PHP
Výběr vhodného webového serveru je klíčovým krokem v nastavení PHP. CentOS Stream podporuje Apache i Nginx, z nichž každý vyžaduje jiné balíčky PHP.
Instalace Apache (httpd) PHP
Pro ty, kteří používají Apache jako svůj webový server, následující příkaz nainstaluje PHP spolu s rozhraním příkazového řádku PHP (CLI), které je nezbytné pro spouštění skriptů PHP z příkazového řádku:
sudo dnf install php php-cli -y
Instalace Nginx PHP
Pokud používáte Nginx, budete muset nainstalovat PHP FastCGI Process Manager (FPM) vedle PHP CLI. PHP-FPM je alternativní implementace PHP FastCGI, která je vysoce efektivní pro weby s velkým provozem:
sudo dnf install php-fpm php-cli -y
Ověření instalace PHP
Po instalaci je důležité potvrdit, že PHP je správně nainstalováno. Spusťte následující příkaz a zkontrolujte nainstalovanou verzi PHP:
php -v
Tento příkaz zobrazí aktuální verzi PHP a ověří úspěšnou instalaci.
Instalace běžných rozšíření PHP
Chcete-li zlepšit funkčnost PHP, možná budete muset nainstalovat další rozšíření. Níže uvedený příkaz nainstaluje běžně používaná rozšíření PHP, která jsou životně důležitá pro různé platformy CMS a vývojové potřeby:
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
Je vhodné zkontrolovat a vynechat všechna rozšíření, která nejsou pro vaše nastavení nezbytná.
Zobrazení načtených modulů PHP
Chcete-li zkontrolovat aktuálně načtené moduly PHP, proveďte:
php -m
Pro udržení optimálního výkonu systému se doporučuje pravidelné monitorování a ořezávání nepotřebných modulů.
Instalace PHP Development Branch
Pro specifické požadavky na vývoj možná budete potřebovat vývojovou větev PHP. Nainstalujte jej pomocí:
sudo dnf install php-devel
Poznámka: Tato instalace zavádí několik závislostí. Pokračujte pouze v případě, že ve vašem vývojovém prostředí PHP existuje konkrétní potřeba.
Přidání vývojových nástrojů PHP
Pro pokročilé vývojové funkce, včetně ladění, nainstalujte další nástroje pomocí:
sudo dnf install php-xdebug php-pcov
Tyto nástroje jsou nezbytné pro ladění a analýzu pokrytí kódu v PHP, ale buďte opatrní na další závislosti, které představují.
Konfigurace uživatele Nginx pro PHP-FPM na CentOS Stream
Úprava konfigurace PHP-FPM pro Nginx
V CentOS Stream je výchozí uživatel pro PHP-FPM nastaven na 'Apache', což není kompatibilní s nastavením Nginx. Pro optimalizaci PHP-FPM pro Nginx je nutná změna konfigurace.
Přístup ke konfiguraci PHP-FPM
Začněte otevřením konfiguračního souboru PHP-FPM. Tento soubor obsahuje nastavení specifická pro interakci PHP-FPM s vaším webovým serverem. K úpravě souboru www.conf použijte následující příkaz:
sudo nano /etc/php-fpm.d/www.conf
Tento příkaz spustí textový editor Nano s konfiguračním souborem PHP-FPM.
Úprava uživatelských a skupinových nastavení
V konfiguračním souboru vyhledejte řádky určující uživatele a skupinu. Ve výchozím nastavení jsou tyto nastaveny na „Apache“. Změňte uživatele i skupinu na 'Nginx', abyste sladili službu PHP-FPM s Nginx:
; Unix uživatel/skupina procesů ; Poznámka: Uživatel je povinný. Pokud skupina není nastavena, výchozí skupina uživatele ; bude použito. ; RPM: apache Vybráno pro přístup k nějakému adresáři jako httpd user = nginx ; RPM: Udržujte skupinu oprávněnou zapisovat do log dir. skupina = nginx
Zde jsou funkční vizuální příklady:
Uložení a ukončení konfiguračního souboru
Po provedení změn uložte soubor stisknutím CTRL+O a poté ukončete pomocí CTRL+X. Tato akce uloží úpravy a zavře editor Nano.
Restartování služby PHP-FPM
Chcete-li použít změny, restartujte službu PHP-FPM pomocí:
sudo systemctl restart php-fpm
Tento příkaz zajišťuje, že se PHP-FPM spustí pod uživatelem a skupinou Nginx, čímž je zajištěna kompatibilita a zvýšené zabezpečení pro nastavení vašeho webového serveru Nginx na CentOS Stream.
Příklad blokového kódu serveru Nginx PHP-FPM
Konfigurace bloku serveru Nginx pro zpracování PHP
Chcete-li povolit zpracování PHP v Nginx na CentOS Stream, je nutné upravit blok serveru v konfiguračním souboru Nginx. Následující příklad ukazuje nezbytnou konfiguraci pro práci se soubory PHP. Toto nastavení vyžaduje zadání bloku umístění PHP.
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;
}
Tento kód zajišťuje, že Nginx správně zpracovává soubory PHP a přesměrovává je na procesor PHP-FPM. Zde je rychlý rozpis:
- umístění ~ .php$: Tato direktiva říká Nginxu, aby aplikoval následující pravidla na jakýkoli soubor s koncovkou .php. Vlnovka ~ označuje, že se jedná o shodu s regulárním výrazem.
- try_files $uri =404: Tento řádek kontroluje, zda soubor PHP existuje na zadaném URI. Pokud tomu tak není, Nginx vrátí chybu 404. Toto je bezpečnostní opatření, které má zabránit neoprávněnému spuštění skriptu.
- fastcgi_pass unix:/run/php-fpm/www.sock;: Tato direktiva specifikuje soket, kde naslouchá služba PHP-FPM. V tomto případě Nginx předává PHP požadavky procesu PHP-FPM přes /run/php-fpm/www.sock socket.
- fastcgi_index index.php;: Toto nastaví index.php jako výchozí skript, který se má spustit při přístupu k adresáři.
- fastcgi_param SCRIPT_FILENAME $document_root$fastcgi_script_name;: Tento řádek nastavuje parametr SCRIPT_FILENAME, který je nezbytný pro PHP-FPM k nalezení souboru skriptu v souborovém systému. Kombinuje kořen dokumentu s názvem skriptu.
- include fastcgi_params;: To zahrnuje výchozí parametry FastCGI poskytované Nginx. Toto jsou standardní nastavení vyžadovaná pro správnou funkci PHP-FPM.
Tato konfigurace zajišťuje, že Nginx správně zpracovává požadavky PHP tím, že je předává službě PHP-FPM ke zpracování, což je zásadní krok pro provozování webových stránek a aplikací založených na PHP na serveru Nginx.
Ověření konfigurace Nginx
Po aktualizaci bloku serveru ověřte konfiguraci Nginx na případné chyby syntaxe pomocí následujícího příkazu:
sudo nginx -t
Příklad výstupu potvrzujícího úspěšnou kontrolu syntaxe:
nginx: the configuration file /etc/nginx/nginx.conf syntax is ok
nginx: configuration file /etc/nginx/nginx.conf test is successful
Tento krok zajistí, že vaše konfigurace Nginx je bez syntaktických chyb a připravená k implementaci.
Restartování služby Nginx
Chcete-li použít změny konfigurace PHP-FPM, restartujte službu Nginx:
sudo systemctl restart nginx
Tento restart provede změny a umožní Nginxu zpracovávat soubory PHP pomocí aktualizované konfigurace bloku serveru.
Závěr
Instalací PHP prostřednictvím úložiště Remi RPM na CentOS Stream 9 zajistíte, že váš systém bude vybaven nejnovějšími stabilními verzemi PHP, včetně 8.3, 8.2 a 8.1. Toto nastavení vám poskytuje vyšší výkon, přístup k nejnovějším funkcím a vylepšené zabezpečení vašich webových aplikací. Pravidelná aktualizace PHP prostřednictvím úložiště Remi udrží váš systém bezpečný a aktuální s nejnovějším vývojem v PHP. Užijte si flexibilitu a výkon, který PHP nabízí pro vytváření a údržbu dynamických webových aplikací.