Sådan installeres PHP på Rocky Linux 9/8

PHP er et populært scriptsprog til generelle formål, der er specielt velegnet til webudvikling. Det er hurtigt, fleksibelt og pragmatisk og driver alt fra blogs til de mest populære websteder i verden. PHP tilbyder omfattende understøttelse af forskellige databaser, hvilket gør det til et vigtigt værktøj til server-side scripting.

Den følgende vejledning vil demonstrere trinene til at installere PHP på Rocky Linux 9 eller 8 ved hjælp af kommandolinjekommandoer. Installationsmetoden involverer brug af Remi RPM-lageret til de seneste stabile builds af PHP 8.1, 8.2 og 8.3.

Importer Remi PHP RPM Repo

Opdater Rocky Linux før PHP-installation

Begynd med at opdatere dit Rocky Linux-system for at forberede PHP-installationen. Åbn terminalen og indtast:

sudo dnf upgrade --refresh

Importer PHP Remi Repository

EPEL Repository Setup

EPEL (Extra Packages for Enterprise Linux) er afgørende for yderligere softwarepakker i Rocky Linux. Nedenfor er to muligheder for at installere EPEL på Rocky Linux til den seneste EL9-udgivelse eller EL8.

Importer EPEL til Rocky Linux 9

Aktiver CRB

CRB giver adgang til flere udviklingsværktøjer. Brug:

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

Sådan får du de seneste EPEL-udgivelser til 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

Inkorporer Remi-depotet designet til EL 9:

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

Importer EPEL til Rocky Linux 8

Aktiver PowerTools Repository

PowerTools er afgørende for PHP-udviklingsværktøjer.

sudo dnf config-manager --set-enabled powertools
Aktiver EPEL til Rocky Linux 8

Installer EPEL repositories til 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
Importer Remi EL 8 Repository

Med EPEL installeret, importer Remi RPM indeholdende PHP til EL 8:

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

Aktiver PHP (8.x) fra Remi Repository

Bekræftelse af PHP-versioner

Start med at bekræfte de tilgængelige PHP-versioner i Remi-lageret. Dette sikrer, at du har adgang til den ønskede PHP-version.

Udfør i terminalen:

dnf module list php

Hvis du bliver bedt om det, skal du importere GPG-nøglen til Remis repository ved at skrive (Y).

Valg af din PHP-version

Aktiver PHP 8.3

For at installere PHP 8.3, en stabil og nyere version, skal du bruge:

sudo dnf module enable php:remi-8.3 -y

Aktiver PHP 8.2

Til PHP 8.2, velegnet til applikationer, der kræver denne specifikke version:

sudo dnf module enable php:remi-8.2 -y

Aktiver PHP 8.1

For at aktivere PHP 8.1, ideel til kompatibilitet med visse applikationer:

sudo dnf module enable php:remi-8.1 -y

Afslut PHP-installation

Installation af PHP til Apache eller Nginx Support

Efter at have aktiveret Remi PHP-depotet, kan du installere PHP skræddersyet til dine webserverbehov, enten 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

Bekræftelse af PHP-installation

Bekræft PHP-installation ved at køre:

php -v

Installation af PHP-udvidelser

Installer essentielle PHP-udvidelser baseret på dine projektbehov. Undgå at installere alle udvidelser for at opretholde optimal ydeevne og sikkerhed.

Standard installation

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

Forenklet installation

For en 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}

Lad os nu nedbryde, hvad hver af disse PHP-udvidelser gør:

  • php-cli: Kommandolinjegrænseflade til PHP, nyttig til at køre PHP-scripts i skallen.
  • php-fpm: FastCGI Process Manager, nyttig til håndtering og servering af PHP-anmodninger.
  • php-krølle: Giver dig mulighed for at oprette forbindelse og kommunikere med forskellige typer servere og protokoller.
  • php-mysqlnd: MySQL Native Driver, bruges til MySQL-databaseforbindelser.
  • php-gd: Graphics Draw, nyttigt til at oprette og manipulere billedfiler.
  • php-opcache: Opcode Cache, bruges til at fremskynde PHP eksekvering.
  • php-zip: Giver dig mulighed for at arbejde med zip-arkiver.
  • php-intl: Internationaliseringsudvidelse til at arbejde med internationale tegnsæt og lokaliteter.
  • php-fælles: Almindelige filer og indstillinger, der bruges af flere PHP-moduler.
  • php-bcmath: Binær lommeregner tillader vilkårlig præcisionsmatematik.
  • php-imagegick: Giver metoder til at oprette og ændre billeder ved hjælp af ImageMagick-biblioteket.
  • php-xmlrpc: Gør det muligt at oprette en XML-RPC-server og gør det nemt at sende XML-RPC-anmodninger.
  • php-json: JSON (JavaScript Object Notation) udvidelse til kodning og afkodning af JSON-data.
  • php-læselinje: Giver mulighed for at læse en linje med data fra terminalen.
  • php-memcached: Giver hurtig, distribueret cachelagring af hukommelsesobjekter.
  • php-redis: PHP-udvidelse til grænseflade med Redis.
  • php-mbstring: Multi-Byte streng til håndtering af ikke-ASCII strenge.
  • php-apcu: APC User Cache, en brugerland caching-udvidelse baseret på APC.
  • php-xml: XML Parser til at analysere XML-dokumenter.
  • php-dom: Document Object Model, til at manipulere XML-dokumenter på en objektorienteret måde.
  • php-memcache: Giver en praktisk proceduremæssig og objektorienteret grænseflade til memcached.
  • php-sæbe: Bruges til at skrive SOAP-servere og klienter.
  • php-ldap: Lightweight Directory Access Protocol, der bruges til at få adgang til og administrere katalogoplysninger.
  • php-pdo: PHP Data Objects, et databaseadgangslag, der giver en ensartet adgangsmetode til flere databaser.

Du kan bruge følgende kommando til at se indlæste moduler til enhver tid.

php -m

Regelmæssig overvågning og fjernelse af unødvendige moduler anbefales af hensyn til ydeevnen.

Installation af PHP udviklingsværktøjer

Til udviklingsformål skal du installere PHP-udviklingsgrenen og fejlfindingsværktøjer:

PHP udviklingsafdeling

sudo dnf install php-devel

PHP-fejlfindingsværktøjer

sudo dnf install php-xdebug php-pcov

Det er vigtigt at bemærke, at installation af denne version vil medføre flere afhængigheder, og det anbefales ikke at gøre det, medmindre du har et specifikt behov for det i din PHP-udvikling eller særlige krav.

Konfigurer PHP-FPM Nginx-bruger på Rocky Linux

Justering af PHP-FPM til Nginx

RHEL-baserede distributioner som Rocky Linux bruger som standard "Apache"-brugeren til PHP-FPM, som ikke er egnet til Nginx-opsætninger. Det er vigtigt at ændre dette for optimal funktion med Nginx.

Redigering af PHP-FPM-konfiguration

Åbn konfigurationsfil

Få adgang til www.conf fil til redigering:

sudo nano /etc/php-fpm.d/www.conf
Rediger bruger- og gruppeindstillinger

Skift Apache-brugeren og gruppen til Nginx i filen.

Post ændring:

Gem dine ændringer ved at trykke på (CTRL+O), og afslut derefter med (CTRL+X).

Genstart PHP-FPM Service

Efter at have ændret konfigurationen, genstart PHP-FPM for at anvende ændringer:

sudo systemctl restart php-fpm

Eksempel på Nginx PHP-FPM-serverblokkode

Konfiguration af Nginx til PHP-behandling

For at aktivere Nginx til at håndtere PHP-filer, skal serverblokken konfigureres korrekt. Følgende eksempel viser den nødvendige opsætning inden for server{} blok til behandling af 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;
    }

Validerer Nginx-konfiguration

Efter opdatering af konfigurationen, valider den for at sikre, at der ikke er syntaksfejl.

sudo nginx -t

Forventet output skal bekræfte, at konfigurationen er korrekt:

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

Genstarter Nginx Service

For at anvende ændringerne skal du genstarte Nginx-tjenesten:

sudo systemctl restart nginx

Denne genstart er afgørende for ændringerne og for at Nginx kan begynde at behandle PHP-filer med den nye konfiguration.

Konklusion

Okay, det afslutter vores rejse! Vi har med succes opsat PHP på Rocky Linux, justeret det til Apache eller Nginx og finjusteret PHP-FPM for optimal ydeevne. Husk, at regelmæssig kontrol af dine PHP-moduler og konfigurationer holder tingene kørende. Og glem ikke at genstarte dine tjenester efter eventuelle ændringer.

Joshua James
Følg mig
Seneste indlæg af Joshua James (se alt)

Skriv en kommentar