Hur man installerar PHP på Rocky Linux 9/8

PHP är ett populärt allmänt skriptspråk som är speciellt lämpat för webbutveckling. Det är snabbt, flexibelt och pragmatiskt och driver allt från bloggar till de mest populära webbplatserna i världen. PHP erbjuder omfattande stöd för olika databaser, vilket gör det till ett viktigt verktyg för server-side scripting.

Följande guide kommer att demonstrera stegen för att installera PHP på Rocky Linux 9 eller 8 med hjälp av kommandoradskommandon. Installationsmetoden innebär att man använder Remi RPM-förvaret för de senaste stabila versionerna av PHP 8.1, 8.2 och 8.3.

Importera Remi PHP RPM Repo

Uppdatera Rocky Linux före PHP-installation

Börja med att uppdatera ditt Rocky Linux-system för att förbereda för PHP-installation. Öppna terminalen och skriv in:

sudo dnf upgrade --refresh

Importera PHP Remi Repository

EPEL Repository Setup

EPEL (Extra Packages for Enterprise Linux) är avgörande för ytterligare programvarupaket i Rocky Linux. Nedan finns två alternativ för att installera EPEL på Rocky Linux för den senaste EL9-versionen eller EL8.

Importera EPEL för Rocky Linux 9

Aktivera CRB

CRB ger tillgång till fler utvecklingsverktyg. Använda sig av:

sudo dnf config-manager --set-enabled crb
Installera EPEL Repositories

För att få de senaste EPEL-versionerna för 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

Inkludera Remi-förvaret designat för EL 9:

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

Importera EPEL för Rocky Linux 8

Aktivera PowerTools Repository

PowerTools är viktigt för PHP-utvecklingsverktyg.

sudo dnf config-manager --set-enabled powertools
Aktivera EPEL för Rocky Linux 8

Installera EPEL-förråd för 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
Importera Remi EL 8 Repository

Med EPEL installerat, importera Remi RPM som innehåller PHP för EL 8:

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

Aktivera PHP (8.x) från Remi Repository

Verifiera PHP-versioner

Börja med att bekräfta de tillgängliga PHP-versionerna i Remi-förvaret. Detta säkerställer att du har tillgång till önskad PHP-version.

Kör i terminalen:

dnf module list php

Om du uppmanas, importera GPG-nyckeln för Remis repository genom att skriva (Y).

Välja din PHP-version

Aktivera PHP 8.3

För att installera PHP 8.3, en stabil och senaste version, använd:

sudo dnf module enable php:remi-8.3 -y

Aktivera PHP 8.2

För PHP 8.2, lämplig för applikationer som kräver denna specifika version:

sudo dnf module enable php:remi-8.2 -y

Aktivera PHP 8.1

För att aktivera PHP 8.1, perfekt för kompatibilitet med vissa applikationer:

sudo dnf module enable php:remi-8.1 -y

Slutför PHP-installationen

Installera PHP för Apache eller Nginx Support

Efter att ha aktiverat Remi PHP-förvaret kan du installera PHP anpassat efter dina webbserverbehov, antingen Apache eller Nginx.

Apache (httpd) PHP-installation

sudo dnf install php php-cli -y

Nginx PHP-installation

sudo dnf install php-fpm php-cli -y

Verifierar PHP-installation

Bekräfta PHP-installationen genom att köra:

php -v

Installation av PHP-tillägg

Installera viktiga PHP-tillägg baserat på dina projektbehov. Undvik att installera alla tillägg för att bibehålla optimal prestanda och säkerhet.

Standardinstallation

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

Förenklad installation

För ett kompakt installationskommando:

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}

Låt oss nu dela upp vad var och en av dessa PHP-tillägg gör:

  • php-cli: Kommandoradsgränssnitt för PHP, användbart för att köra PHP-skript i skalet.
  • php-fpm: FastCGI Process Manager, användbar för att hantera och betjäna PHP-förfrågningar.
  • php-curl: Låter dig ansluta och kommunicera med olika typer av servrar och protokoll.
  • php-mysqlnd: MySQL Native Driver, används för MySQL-databasanslutningar.
  • php-gd: Graphics Draw, användbar för att skapa och manipulera bildfiler.
  • php-opcache: Opcode Cache, används för att påskynda PHP-exekveringen.
  • php-zip: Låter dig arbeta med zip-arkiv.
  • php-intl: Internationaliseringstillägg för att arbeta med internationella teckenuppsättningar och lokaler.
  • php-common: Vanliga filer och inställningar som används av flera PHP-moduler.
  • php-bcmath: Binary Calculator tillåter godtycklig precisionsmatematik.
  • php-bild: Tillhandahåller metoder för att skapa och ändra bilder med ImageMagick-biblioteket.
  • php-xmlrpc: Möjliggör att skapa en XML-RPC-server och gör det enkelt att skicka XML-RPC-förfrågningar.
  • php-json: JSON-tillägg (JavaScript Object Notation) för kodning och avkodning av JSON-data.
  • php-läslinje: Gör det möjligt att läsa en rad data från terminalen.
  • php-memcachad: Ger snabb, distribuerad cachelagring av minnesobjekt.
  • php-redis: PHP-tillägg för gränssnitt med Redis.
  • php-mbstring: Multi-Byte-sträng för hantering av icke-ASCII-strängar.
  • php-apcu: APC User Cache, ett cachingtillägg för användarland baserat på APC.
  • php-xml: XML Parser för att analysera XML-dokument.
  • php-dom: Document Object Model, för att manipulera XML-dokument på ett objektorienterat sätt.
  • php-memcache: Ger praktiskt procedurmässigt och objektorienterat gränssnitt till memcached.
  • php-tvål: Används för att skriva SOAP-servrar och klienter.
  • php-ldap: Lightweight Directory Access Protocol som används för att komma åt och hantera kataloginformation.
  • php-pdo: PHP Data Objects, ett lager för databasåtkomst som ger en enhetlig åtkomstmetod till flera databaser.

Du kan använda följande kommando för att se moduler som laddas när som helst.

php -m

Regelbunden övervakning och borttagning av onödiga moduler rekommenderas för prestandaeffektivitet.

Installera PHP utvecklingsverktyg

För utvecklingsändamål, installera PHP-utvecklingsgrenen och felsökningsverktyg:

PHP Development Branch

sudo dnf install php-devel

PHP-felsökningsverktyg

sudo dnf install php-xdebug php-pcov

Det är viktigt att notera att installation av den här versionen kommer att medföra flera beroenden, och det rekommenderas inte att göra det om du inte har ett specifikt behov av det i din PHP-utveckling eller något speciellt krav.

Konfigurera PHP-FPM Nginx User på Rocky Linux

Justera PHP-FPM för Nginx

RHEL-baserade distributioner som Rocky Linux använder som standard "Apache"-användaren för PHP-FPM, vilket inte är lämpligt för Nginx-inställningar. Det är viktigt att modifiera detta för optimal funktion med Nginx.

Redigera PHP-FPM-konfiguration

Öppna konfigurationsfilen

Få tillgång till www.conf fil för redigering:

sudo nano /etc/php-fpm.d/www.conf
Ändra användar- och gruppinställningar

Ändra Apache-användaren och gruppen till Nginx i filen.

Post ändring:

Spara dina ändringar genom att trycka på (CTRL+O), avsluta sedan med (CTRL+X).

Starta om PHP-FPM Service

Efter att ha modifierat konfigurationen, starta om PHP-FPM för att tillämpa ändringar:

sudo systemctl restart php-fpm

Exempel på Nginx PHP-FPM Server Block Code

Konfigurera Nginx för PHP-bearbetning

För att Nginx ska kunna hantera PHP-filer måste serverblocket konfigureras korrekt. Följande exempel visar den nödvändiga installationen inom server{} block för bearbetning av PHP-filer.

Nginx PHP-FPM-konfiguration
    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;
    }

Validerar Nginx-konfiguration

Efter uppdatering av konfigurationen, validera den för att säkerställa att inga syntaxfel.

sudo nginx -t

Förväntad utdata bör bekräfta att konfigurationen är korrekt:

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

Startar om Nginx Service

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

sudo systemctl restart nginx

Denna omstart är väsentlig för ändringarna och för att Nginx ska börja bearbeta PHP-filer med den nya konfigurationen.

Slutsats

Okej, det avslutar vår resa! Vi har framgångsrikt konfigurerat PHP på Rocky Linux, justerat det för Apache eller Nginx och finjusterat PHP-FPM för optimal prestanda. Kom ihåg att regelbunden kontroll av dina PHP-moduler och konfigurationer gör att saker och ting fungerar smidigt. Och glöm inte att starta om dina tjänster efter eventuella ändringar.

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

Lämna en kommentar