Hoe PHP te installeren op Rocky Linux 9/8

PHP is een populaire scripttaal voor algemene doeleinden, die vooral geschikt is voor webontwikkeling. Het is snel, flexibel en pragmatisch en ondersteunt alles, van blogs tot de populairste websites ter wereld. PHP biedt uitgebreide ondersteuning voor verschillende databases, waardoor het een essentieel hulpmiddel is voor server-side scripting.

De volgende gids demonstreert de stappen om PHP op Rocky Linux 9 of 8 te installeren met behulp van opdrachtregelopdrachten. De installatiemethode omvat het gebruik van de Remi RPM-repository voor de nieuwste stabiele builds van PHP 8.1, 8.2 en 8.3.

Importeer Remi PHP RPM-repository

Update Rocky Linux vóór PHP-installatie

Begin met het updaten van uw Rocky Linux-systeem ter voorbereiding op de PHP-installatie. Open de terminal en voer in:

sudo dnf upgrade --refresh

Importeer PHP Remi-repository

EPEL-opslagplaats instellen

EPEL (Extra Packages for Enterprise Linux) is cruciaal voor aanvullende softwarepakketten in Rocky Linux. Hieronder staan ​​twee opties voor het installeren van EPEL op Rocky Linux voor de nieuwste EL9-release of EL8.

Importeer EPEL voor Rocky Linux 9

CRB inschakelen

CRB biedt toegang tot meer ontwikkelingstools. Gebruik:

sudo dnf config-manager --set-enabled crb
Installeer EPEL-opslagplaatsen

Om de nieuwste EPEL-releases voor Rocky Linux 9 te verkrijgen:

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

Integreer de Remi-repository ontworpen voor EL 9:

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

Importeer EPEL voor Rocky Linux 8

Schakel PowerTools-opslagplaats in

PowerTools is essentieel voor PHP-ontwikkeltools.

sudo dnf config-manager --set-enabled powertools
Schakel EPEL in voor Rocky Linux 8

Installeer EPEL-repository's voor 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
Importeer Remi EL 8-repository

Terwijl EPEL is geïnstalleerd, importeert u de Remi RPM met PHP voor EL 8:

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

Schakel PHP (8.x) in vanuit Remi Repository

PHP-versies verifiëren

Begin met het bevestigen van de beschikbare PHP-versies in de Remi-repository. Hierdoor ben je ervan verzekerd dat je toegang hebt tot de gewenste PHP-versie.

Voer in de terminal uit:

dnf module list php

Importeer desgevraagd de GPG-sleutel voor Remi's repository door (Y) te typen.

Uw PHP-versie selecteren

Schakel PHP 8.3 in

Om PHP 8.3, een stabiele en recente versie, te installeren, gebruik je:

sudo dnf module enable php:remi-8.3 -y

Schakel PHP 8.2 in

Voor PHP 8.2, geschikt voor applicaties die deze specifieke versie vereisen:

sudo dnf module enable php:remi-8.2 -y

Schakel PHP 8.1 in

Om PHP 8.1 in te schakelen, ideaal voor compatibiliteit met bepaalde applicaties:

sudo dnf module enable php:remi-8.1 -y

Voltooi de PHP-installatie

PHP installeren voor Apache- of Nginx-ondersteuning

Nadat u de Remi PHP-repository hebt ingeschakeld, kunt u PHP installeren die is afgestemd op de behoeften van uw webserver, Apache of Nginx.

Apache (httpd) PHP-installatie

sudo dnf install php php-cli -y

Nginx PHP-installatie

sudo dnf install php-fpm php-cli -y

PHP-installatie verifiëren

Bevestig de PHP-installatie door het volgende uit te voeren:

php -v

Installatie van PHP-extensies

Installeer essentiële PHP-extensies op basis van uw projectbehoeften. Vermijd het installeren van alle extensies om optimale prestaties en beveiliging te behouden.

Standaard installatie

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

Vereenvoudigde installatie

Voor een compacte installatieopdracht:

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}

Laten we nu eens kijken wat elk van deze PHP-extensies doet:

  • php-cli: Command Line Interface voor PHP, handig bij het uitvoeren van PHP-scripts in de shell.
  • php-fpm: FastCGI Process Manager, handig voor het afhandelen en serveren van PHP-verzoeken.
  • php-krul: Hiermee kunt u verbinding maken en communiceren met verschillende soorten servers en protocollen.
  • php-mysqlnd: MySQL Native Driver, gebruikt voor MySQL-databaseverbindingen.
  • php-gd: Graphics Draw, handig voor het maken en manipuleren van afbeeldingsbestanden.
  • php-opcache: Opcode Cache, gebruikt om de PHP-uitvoering te versnellen.
  • php-zip: Hiermee kunt u met zip-archieven werken.
  • php-intl: Internationaliseringsextensie voor het werken met internationale tekensets en landinstellingen.
  • php-gemeenschappelijk: algemene bestanden en instellingen die door meerdere PHP-modules worden gebruikt.
  • php-bcmath: Binaire rekenmachine maakt wiskunde met willekeurige precisie mogelijk.
  • php-imagic: biedt methoden voor het maken en wijzigen van afbeeldingen met behulp van de ImageMagick-bibliotheek.
  • php-xmlrpc: Maakt het mogelijk een XML-RPC-server te maken en maakt het verzenden van XML-RPC-verzoeken eenvoudig.
  • php-json: JSON-extensie (JavaScript Object Notation) voor het coderen en decoderen van JSON-gegevens.
  • php-leesregel: Maakt het mogelijk een gegevensregel van de terminal te lezen.
  • php-memcached: Biedt snelle, gedistribueerde caching van geheugenobjecten.
  • php-redis: PHP-extensie voor interface met Redis.
  • php-mbstring: Multi-Byte String voor het verwerken van niet-ASCII-strings.
  • php-apcu: APC User Cache, een caching-extensie voor gebruikersland gebaseerd op APC.
  • php-xml: XML Parser voor het parseren van XML-documenten.
  • php-dom: Document Object Model, om XML-documenten objectgeoriënteerd te manipuleren.
  • php-geheugencache: Biedt een handige procedurele en objectgeoriënteerde interface voor memcached.
  • php-soap: Gebruikt voor het schrijven van SOAP-servers en -clients.
  • php-ldap: Lichtgewicht Directory Access Protocol gebruikt voor toegang tot en beheer van directory-informatie.
  • php-pdo: PHP Data Objects, een databasetoegangslaag die een uniforme toegangsmethode tot meerdere databases biedt.

U kunt de volgende opdracht gebruiken om op elk gewenst moment de geladen modules te bekijken.

php -m

Regelmatige controle en verwijdering van onnodige modules wordt aanbevolen voor prestatie-efficiëntie.

PHP-ontwikkeltools installeren

Installeer voor ontwikkelingsdoeleinden de PHP-ontwikkelingstak en de foutopsporingstools:

PHP-ontwikkelingstak

sudo dnf install php-devel

PHP-foutopsporingshulpmiddelen

sudo dnf install php-xdebug php-pcov

Het is belangrijk op te merken dat het installeren van deze versie meerdere afhankelijkheden met zich meebrengt, en het wordt niet aanbevolen om dit te doen, tenzij je er een specifieke behoefte aan hebt in je PHP-ontwikkeling of een speciale vereiste.

Configureer PHP-FPM Nginx-gebruiker op Rocky Linux

PHP-FPM aanpassen voor Nginx

Op RHEL gebaseerde distributies zoals Rocky Linux gebruiken standaard de “Apache”-gebruiker voor PHP-FPM, wat niet geschikt is voor Nginx-setups. Het is essentieel om dit aan te passen voor een optimale werking met Nginx.

PHP-FPM-configuratie bewerken

Configuratiebestand openen

Toegang krijgen tot www.conf bestand voor bewerking:

sudo nano /etc/php-fpm.d/www.conf
Wijzig gebruikers- en groepsinstellingen

Wijzig de Apache-gebruiker en -groep in Nginx binnen het bestand.

Berichtwijziging:

Sla uw wijzigingen op door op (CTRL+O) te drukken en sluit vervolgens af met (CTRL+X).

Start de PHP-FPM-service opnieuw

Nadat u de configuratie heeft gewijzigd, start u PHP-FPM opnieuw op om de wijzigingen toe te passen:

sudo systemctl restart php-fpm

Voorbeeld Nginx PHP-FPM-serverblokcode

Nginx configureren voor PHP-verwerking

Om ervoor te zorgen dat Nginx PHP-bestanden kan verwerken, moet het serverblok correct zijn geconfigureerd. Het volgende voorbeeld demonstreert de noodzakelijke instellingen binnen het server{} blok voor het verwerken van PHP-bestanden.

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

Nginx-configuratie valideren

Nadat u de configuratie hebt bijgewerkt, valideert u deze om er zeker van te zijn dat er geen syntaxisfouten optreden.

sudo nginx -t

De verwachte uitvoer zou moeten bevestigen dat de configuratie correct is:

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

Nginx-service opnieuw starten

Om de wijzigingen toe te passen, start u de Nginx-service opnieuw:

sudo systemctl restart nginx

Deze herstart is essentieel voor de wijzigingen en voor Nginx om PHP-bestanden te gaan verwerken met de nieuwe configuratie.

Conclusie

Oké, daarmee is onze reis afgerond! We hebben PHP met succes geïnstalleerd op Rocky Linux, het aangepast voor Apache of Nginx en PHP-FPM verfijnd voor optimale prestaties. Vergeet niet dat het regelmatig controleren van uw PHP-modules en -configuraties ervoor zorgt dat alles soepel blijft verlopen. En vergeet niet uw services opnieuw op te starten na eventuele wijzigingen.

Joshua James
Volg mij
Laatste berichten van Joshua James (alles zien)

Plaats een reactie