installeer je het nieuwste PHP 8 op Rocky Linux

Volgens de peilingen van W2techs is er 79% van alle websites die PHP als server-side programmeertaal gebruiken. Bovendien zijn er 67% van de websites die PHP versie 7 gebruiken, 4 jaar na de eerste release. PHP is een van de populairste server-side programmeertalen voor websites. Enkele opmerkelijke webapplicaties zijn op PHP gebaseerd, zoals WordPress, Magento E-commerce, Wikipedia, Drupal, enz.

Op dit moment is de PHP versie 8 uitgebracht met extra mogelijkheden en verbeteringen, waaronder named arguments, union types, attributen, constructor property promotie, match expression, nullsafe operator, JIT, en verbeteringen in het typesysteem, foutafhandeling, en consistentie.

In deze gids leer je hoe je PHP 8 op de Rocky Linux server kunt installeren.

Vereisten

  • * Een gebruiker met root privileges. Zorg ervoor dat de gebruiker het `sudo su` commando kan uitvoeren om root privilege te krijgen, of je kunt gewoon de root gebruiker gebruiken.

EPEL en Remi Repositories toevoegen Rocky Linux

De standaard Rocky Linux repository biedt PHP pakketten, maar niet voor PHP versie 8.x. Voor de PHP versie PHP 8.x kun je het uit de REMI repository installeren.

1. Voordat je de REMI repository toevoegt, moet je de EPEL (Extra Packages for Enterprise Linux) repository toevoegen door het volgende commando uit te voeren.

sudo dnf install https://dl.fedoraproject.org/pub/epel/epel-release-latest-8.noarch.rpm

Typ‘y‘ en druk op‘Enter‘ om de EPEL repository toe te voegen.

Installeer de EPEL repository Rocky Linux

2. Voer nu het onderstaande commando uit om de REMI repository voor Rocky Linux 8 / CentOS 8/ of RHEL 8 toe te voegen.

sudo dnf install https://rpms.remirepo.net/enterprise/remi-release-8.rpm

Typ‘y‘ en druk weer op‘Enter‘ om de REMI repository te installeren.

Installeer Remi Repository Rocky Linux

3. Nadat de installatie van EPEL en de REMI repository voltooid is, voer je het volgende commando uit om de lijst van een beschikbare repository op het Rocky Linux systeem te controleren.

sudo dnf repolist

Controleer nu of je de soortgelijke uitvoer krijgt als hieronder.

repo id                   repo name
appstream                 Rocky Linux 8 - AppStream
baseos                    Rocky Linux 8 - BaseOS
epel                      Extra Packages for Enterprise Linux 8 - x86_64
epel-modular              Extra Packages for Enterprise Linux Modular 8 - x86_64
extras                    Rocky Linux 8 - Extras
remi-modular              Remi's Modular repository for Enterprise Linux 8 - x86_64
remi-safe                 Safe Remi's RPM repository for Enterprise Linux 8 - x86_64

Zet PHP 8.0 Remi Repository aan

Voor deze stap schakel je de REMI repository voor PHP 8.x in en schakel je de module voor PHP naar de REMI repository, in plaats van de AppStream repository.

1. Voordat je verder gaat, reset je de PHP modulestroom met het onderstaande commando.

sudo dnf module reset php

De eerste keer dat je het dnf commando uitvoert nadat je de Remi repository hebt toegevoegd, wordt je gevraagd de gpg sleutel van de Remi repository te accepteren.

Typ ‘y‘ en druk op‘Enter‘ om de Remi gpg sleutel toe te voegen.

Accepteer gpg sleutel Remi repository

2. Controleer nu de beschikbare PHP modules op je systeem met het volgende commando.

sudo dnf module list php

Zoals hieronder te zien is, zijn er 2 PHP stream repositories. De standaard Rocky Linux AppStream repository en Remi modulaire repository. De standaard installatie voor PHP is PHP 7.2 uit de AppStream repository.

Rocky Linux 8 - AppStream
Name                  Stream                        Profiles                            Summary                        
php                   7.2 [d]              common [d], devel, minimal            PHP scripting language                
php                   7.3                  common [d], devel, minimal            PHP scripting language                
php                   7.4                  common [d], devel, minimal            PHP scripting language                

Remi's Modular repository for Enterprise Linux 8 - x86_64
Name                  Stream                        Profiles                            Summary                        
php                   remi-7.2             common [d], devel, minimal            PHP scripting language
php                   remi-7.3             common [d], devel, minimal            PHP scripting language
php                   remi-7.4             common [d], devel, minimal            PHP scripting language                
php                   remi-8.0 [e]         common [d], devel, minimal            PHP scripting language

Hint: [d]efault, [e]nabled, [x]disabled, [i]nstalled

3. Verander nu de standaard installatie van PHP pakketten naar de Remi repository PHP 8.x met het commando.

sudo dnf module enable php:remi-8.0

Typ‘y‘ en druk op‘Enter‘ om de PHP 8.x Remi repository in te schakelen, en je bent klaar om de PHP 8 op Rocky Linux te installeren.

Schakel PHP 8.0 Repository in

PHP 8.0 installeren op Rocky Linux

1. Om PHP pakketten te installeren, voer je het onderstaande commando uit.

sudo dnf install php

Typ nu‘y‘ en druk op‘Enter‘ om PHP 8x te installeren.

Installeer PHP 8.0 Rocky Linux

2. Nadat de installatie voltooid is, controleer je de PHP versie met het volgende commando.

php --version

Controleer nu of je een soortgelijke uitvoer PHP 8.0 krijgt als hieronder.

PHP 8.0.9 (cli) (built: Jul 29 2021 12:53:58) ( NTS gcc x86_64 )
Copyright (c) The PHP Group
Zend Engine v4.0.9, Copyright (c) Zend Technologies
    with Zend OPcache v8.0.9, Copyright (c), by Zend Technologies

Installeren van PHP-FPM 8.0 op Rocky Linux

Een PHP-FPM (FastCGI Process Manager) is een alternatieve en de meest populaire implementatie van PHP FastCGI. het komt met extra mogelijkheden zoals poolbeheer, beperking, restrictie op elke pool, enz. PHP-FPM is geschikt voor websites met zowel weinig als veel verkeer. Vooral voor websites met veel verkeer kun je php-fpm poolbeheer gebruiken om de prestatiebelasting van je websites te verbeteren.

1. Om php-fpm op Rocky Linux te installeren, voer je het onderstaande DNF commando uit.

sudo dnf install php-fpm

Typ ‘y’ en druk op‘Enter‘ om php-fpm pakketten te installeren.

2. Nadat de installatie voltooid is, start je de php-fpm dienst en zet je hem aan om automatisch te draaien bij elke opstart met het volgende commando.

sudo systemctl enable --now php-fpm

Nu zou je soortgelijke uitvoer als hieronder moeten zien.

Created symlink /etc/systemd/system/multi-user.target.wants/php-fpm.service → /usr/lib/systemd/system/php-fpm.service.

3. Controleer nu de status van de php-fpm service met het onderstaande commando.

sudo systemctl status php-fpm

Als je php-fpm draait, zou je de‘active (running)‘ moeten zien zoals hieronder te zien is. Anders zou je de uitvoer zoals‘exited‘ kunnen zien.

? php-fpm.service - The PHP FastCGI Process Manager
   Loaded: loaded (/usr/lib/systemd/system/php-fpm.service; enabled; vendor preset: disabled)
   Active: active (running) since Mon 2021-08-02 07:58:33 UTC; 8s ago
 Main PID: 3964 (php-fpm)
   Status: "Ready to handle connections"
    Tasks: 6 (limit: 11156)
   Memory: 12.8M
   CGroup: /system.slice/php-fpm.service
           ??3964 php-fpm: master process (/etc/php-fpm.conf)
           ??3965 php-fpm: pool www
           ??3966 php-fpm: pool www
           ??3967 php-fpm: pool www
           ??3968 php-fpm: pool www
           ??3969 php-fpm: pool www

Installeren van PHP uitbreidingen

De Remi repository biedt niet alleen de nieuwe versie van PHP 8.x, maar ze bieden ook extra uitbreidingen van PHP die niet in de AppStream repository te vinden zijn, bijvoorbeeld php-imagick, php-mcrypt, enz.

1. Om extra PHP uitbreidingen te installeren, kun je het ‘dnf install’ commando gebruiken en de naam als ‘php-extension‘ naam volgen.

Voer het voorbeeldcommando hieronder uit om de module php-mcrypt te installeren.

sudo dnf install php-mcrypt

Typ‘y‘ en druk op‘Enter‘ om de php-mcrype uitbreiding te installeren.

Installeer PHP uitbreidingen

2. Om meerdere PHP uitbreidingen te installeren, kun je bovendien het formaat gebruiken als‘php-{extension1,extension2,extension3,etc}‘.

Voer het onderstaande commando voorbeeld uit voor de installatie van meerdere PHP uitbreidingen php-imagick, php-apcu, php-geoip, php-memcached, en php-zstd.

sudo dnf install php-{imagick,apcu,geoip,memcached,zstd}

3. Controleer daarna alle beschikbare PHP uitbreidingen op je systeem door het volgende commando uit te voeren.

php -m

En je ziet de naam van elke PHP module die op je systeem beschikbaar is zoals hieronder.

apcu
bz2
calendar

...

geoip
zlib
zstd

[Zend Modules]
Zend OPcache

Bovendien kun je het‘grep‘ commando gebruiken om de naam van de php uitbreiding te filteren zoals hieronder.

php -m | grep imagick

Als de php-imagick extensie op je systeem beschikbaar is, zou je de uitvoer als hieronder moeten zien.

imagick

Zo niet, dan krijg je het blanco resultaat.

Conclusie

Gefeliciteerd! Je hebt geleerd hoe je PHP 8.x op Rocky Linux kunt installeren. Je kunt PHP of PHP-FPM met extra uitbreidingen naar behoefte installeren uit de Remi repository. En nu ben je klaar om je PHP web-applicaties te installeren. Controleer ook altijd de vereisten van de PHP web-applicaties die je wilt installeren.