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.