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.