Hur man installerar PHP på CentOS Stream 9

PHP är ett allmänt använt skriptspråk på serversidan som är designat för webbutveckling men används också som ett allmänt programmeringsspråk. Det är särskilt gynnat för att skapa dynamiska och interaktiva webbplatser. Genom att installera de senaste versionerna av PHP, som 8.3, 8.2 eller 8.1, säkerställer du att du har tillgång till de senaste funktionerna, prestandaförbättringarna och säkerhetskorrigeringarna. På CentOS Stream 9 kan du enkelt installera dessa versioner med hjälp av Remi RPM-förvaret, som är välkänt för att tillhandahålla uppdaterade PHP-paket.

Den här guiden går igenom processen för att aktivera Remi-förvaret och installera de senaste PHP-byggen på CentOS Stream 9.

Importera Remi PHP RPM på CentOS

Uppdatera CentOS Stream före PHP-installation

Det är viktigt att börja med att uppdatera ditt CentOS Stream-system för att säkerställa att alla befintliga paket är uppdaterade. Detta steg är viktigt för systemets stabilitet och säkerhet.

Öppna din terminal och kör följande kommando för att uppdatera ditt system:

sudo dnf upgrade --refresh

Detta kommando uppdaterar din paketdatabas och uppgraderar alla installerade paket till deras senaste tillgängliga versioner.

Importera Remi PHP RPM Repository

Remi PHP-förvaret är ett tredjepartsförråd som erbjuder de senaste PHP-versionerna. Innan du lägger till Remi-förvaret måste du installera EPEL-förvaret, som tillhandahåller extra paket för Enterprise Linux.

Först rekommenderas att aktivera CodeReady Linux Builder (CRB)-förvaret, men valfritt. Det tillhandahåller ytterligare utvecklarverktyg och bibliotek. Aktivera CRB med:

sudo dnf config-manager --set-enabled crb

Efter att ha aktiverat CRB installerar du EPEL-förvaret för EL9 med:

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

Importera slutligen Remi PHP-förvaret för EL9:

sudo dnf install dnf-utils http://rpms.remirepo.net/enterprise/remi-release-9.rpm -y

Aktiverar PHP Remi Repository på CentOS Stream

Lista över tillgängliga PHP-moduler

Innan du installerar PHP är det viktigt att identifiera de tillgängliga PHP-versionerna i Remi-förvaret. Det här steget hjälper dig att fatta ett välgrundat beslut om vilken version du ska installera.

Använd följande kommando för att lista alla PHP-moduler:

dnf module list php

Detta kommando visar alla PHP-versioner som finns tillgängliga i Remi-förvaret. Det är ett avgörande steg för att säkerställa att du väljer en version som bäst passar dina krav.

Importerar GPG-nyckel för Remis repository

När du uppmanas måste du bekräfta importen av GPG-nyckeln för Remis arkiv. Det här steget är viktigt av säkerhetsskäl, eftersom det verifierar äktheten av paketen du ska installera. Ange "Y" när du uppmanas att fortsätta med importen.

Aktivera din önskade PHP-version

Efter att ha bekräftat de tillgängliga PHP-versionerna kan du aktivera den specifika version som passar dina behov. Det är tillrådligt att välja en stabil och välstödd version av PHP för dina projekt.

För att aktivera en specifik PHP-version från Remi-förvaret, använd följande kommandon:

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

Varje kommando aktiverar en annan version av PHP från Remi-förvaret. Välj det kommando som motsvarar den version du vill installera. Flaggan '-y' i dessa kommandon indikerar automatisk bekräftelse av installationen, vilket effektiviserar processen.

Installera PHP 8.3, 8.2 eller 8.1 på CentOS Stream

Välja webbserver för PHP-installation

Att välja lämplig webbserver är ett viktigt steg för att ställa in PHP. CentOS Stream stöder både Apache och Nginx, som alla kräver olika PHP-paket.

Apache (httpd) PHP-installation

För de som använder Apache som webbserver installerar följande kommando PHP tillsammans med PHP Command Line Interface (CLI), vilket är viktigt för att köra PHP-skript från kommandoraden:

sudo dnf install php php-cli -y

Nginx PHP-installation

Om du använder Nginx måste du installera PHP FastCGI Process Manager (FPM) tillsammans med PHP CLI. PHP-FPM är en alternativ PHP FastCGI-implementering som är mycket effektiv för webbplatser med mycket trafik:

sudo dnf install php-fpm php-cli -y

Verifierar PHP-installation

Efter installationen är det viktigt att bekräfta att PHP är korrekt installerat. Kör följande kommando för att kontrollera den installerade PHP-versionen:

php -v

Det här kommandot visar den aktuella PHP-versionen, vilket bekräftar att installationen lyckades.

Installera vanliga PHP-tillägg

För att förbättra PHP-funktionaliteten kan du behöva installera ytterligare tillägg. Kommandot nedan installerar vanliga PHP-tillägg, som är avgörande för olika CMS-plattformar och utvecklingsbehov:

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

Det är tillrådligt att granska och utelämna eventuella tillägg som inte är nödvändiga för din installation.

Visa laddade PHP-moduler

För att inspektera de för närvarande laddade PHP-modulerna, kör:

php -m

Regelbunden övervakning och beskärning av onödiga moduler rekommenderas för att upprätthålla optimal systemprestanda.

Installera PHP Development Branch

För specifika utvecklingskrav kan du behöva PHP-utvecklingsgrenen. Installera den med:

sudo dnf install php-devel

Obs: Den här installationen introducerar flera beroenden. Fortsätt bara om det finns ett specifikt behov i din PHP-utvecklingsmiljö.

Lägga till PHP-utvecklingsverktyg

För avancerade utvecklingsfunktioner, inklusive felsökning, installera ytterligare verktyg med:

sudo dnf install php-xdebug php-pcov

Dessa verktyg är viktiga för felsökning och kodtäckningsanalys i PHP, men var försiktig med de ytterligare beroenden de introducerar.

Konfigurera Nginx User för PHP-FPM på CentOS Stream

Redigera PHP-FPM-konfiguration för Nginx

I CentOS Stream är standardanvändaren för PHP-FPM inställd på 'Apache', vilket inte är kompatibelt med Nginx-inställningar. För att optimera PHP-FPM för Nginx krävs en konfigurationsändring.

Åtkomst till PHP-FPM-konfiguration

Börja med att öppna PHP-FPM-konfigurationsfilen. Den här filen innehåller inställningar som är specifika för hur PHP-FPM interagerar med din webbserver. Använd följande kommando för att redigera www.conf-filen:

sudo nano /etc/php-fpm.d/www.conf

Detta kommando startar Nano-textredigeraren med PHP-FPM-konfigurationsfilen.

Ändra användar- och gruppinställningar

I konfigurationsfilen letar du upp raderna som anger användaren och gruppen. Som standard är dessa inställda på 'Apache'. Ändra både användaren och gruppen till 'Nginx' för att anpassa PHP-FPM-tjänsten med Nginx:

; Unix-användare/grupp av processer ; Obs: Användaren är obligatorisk. Om gruppen inte är inställd, standardanvändarens grupp ; kommer att användas. ; RPM: apache Vald för att kunna komma åt vissa dir som httpd user = nginx ; RPM: Behåll en grupp tillåtelse att skriva i log dir. grupp = nginx

Här är ett fungerande visuellt exempel:

Spara och avsluta konfigurationsfilen

När du har gjort ändringarna, spara filen genom att trycka på CTRL+O och avsluta med CTRL+X. Den här åtgärden sparar ändringarna och stänger Nano-redigeraren.

Startar om PHP-FPM-tjänsten

För att tillämpa ändringarna, starta om PHP-FPM-tjänsten med:

sudo systemctl restart php-fpm

Detta kommando säkerställer att PHP-FPM börjar köras under Nginx-användaren och gruppen, vilket säkerställer kompatibilitet och förbättrad säkerhet för din Nginx-webbserverinstallation på CentOS Stream.

Exempel på Nginx PHP-FPM Server Block Code

Konfigurera Nginx Server Block för PHP-bearbetning

För att aktivera PHP-bearbetning i Nginx på CentOS Stream måste serverblocket i Nginx-konfigurationsfilen ändras. Följande exempel visar den nödvändiga konfigurationen för att hantera PHP-filer. Denna installation kräver att PHP-platsblocket anges.

    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;
    }

Denna kod säkerställer att Nginx hanterar PHP-filer korrekt och omdirigerar dem till PHP-FPM-processorn. Här är en snabb sammanställning:

  • plats ~ .php$: Detta direktiv säger åt Nginx att tillämpa följande regler på alla filer som slutar på .php. Tilde ~ indikerar att detta är en matchning av reguljära uttryck.
  • try_files $uri =404: Den här raden kontrollerar om PHP-filen finns på angiven URI. Om det inte gör det returnerar Nginx ett 404-fel. Detta är en säkerhetsåtgärd för att förhindra obehörig körning av skript.
  • fastcgi_pass unix:/run/php-fpm/www.sock;: Detta direktiv specificerar socket där PHP-FPM-tjänsten lyssnar. I det här fallet skickar Nginx PHP-förfrågningarna till PHP-FPM-processen genom /run/php-fpm/www.sock-socketen.
  • fastcgi_index index.php;: Detta ställer in index.php som standardskript som ska köras när en katalog öppnas.
  • fastcgi_param SCRIPT_FILENAME $document_root$fastcgi_script_name;: Den här raden ställer in parametern SCRIPT_FILENAME, som är nödvändig för att PHP-FPM ska hitta skriptfilen i filsystemet. Den kombinerar dokumentroten med skriptnamnet.
  • include fastcgi_params;: Detta inkluderar standard FastCGI-parametrarna som tillhandahålls av Nginx. Dessa är standardinställningar som krävs för att PHP-FPM ska fungera korrekt.

Denna konfiguration säkerställer att Nginx hanterar PHP-förfrågningar korrekt genom att skicka dem till PHP-FPM-tjänsten för bearbetning, ett avgörande steg för att köra PHP-baserade webbplatser och applikationer på en Nginx-server.

Verifierar Nginx-konfiguration

Efter att ha uppdaterat serverblocket, verifiera Nginx-konfigurationen för eventuella syntaxfel med följande kommando:

sudo nginx -t

Exempel på utdata som bekräftar en lyckad syntaxkontroll:

nginx: the configuration file /etc/nginx/nginx.conf syntax is ok
nginx: configuration file /etc/nginx/nginx.conf test is successful

Detta steg säkerställer att din Nginx-konfiguration är fri från syntaxfel och redo att implementeras.

Startar om Nginx Service

För att tillämpa PHP-FPM-konfigurationsändringarna, starta om Nginx-tjänsten:

sudo systemctl restart nginx

Denna omstart gör ändringarna effektiva, vilket gör att Nginx kan bearbeta PHP-filer med den uppdaterade serverblockkonfigurationen.

Slutsats

Genom att installera PHP genom Remi RPM-förvaret på CentOS Stream 9 säkerställer du att ditt system är utrustat med de senaste stabila versionerna av PHP, inklusive 8.3, 8.2 och 8.1. Denna inställning ger dig förbättrad prestanda, tillgång till de senaste funktionerna och förbättrad säkerhet för dina webbapplikationer. Regelbunden uppdatering av PHP genom Remi-förvaret kommer att hålla ditt system säkert och uppdaterat med den senaste utvecklingen inom PHP. Njut av flexibiliteten och kraften som PHP erbjuder för att bygga och underhålla dynamiska webbapplikationer.

Joshua James
Följ mig
Senaste inläggen av Joshua James (se alla)

Lämna en kommentar