←Terug naar het blog

Wat zijn de voordelen van PHP 8.1 en de commando's om te upgraden vanaf een oudere versie op Nginx?

2022-12-30‱3 minuten leestijd

Nieuwe functies en verbeteringen in PHP 8.1

PHP 8.1 is de nieuwste versie van de populaire server-side scripttaal en brengt een reeks nieuwe functies en verbeteringen met zich mee die het een aantrekkelijke keuze maken voor ontwikkelaars. In dit artikel belichten we enkele van de belangrijkste voordelen van een upgrade naar PHP 8.1.

Allereerst introduceert PHP 8.1 een aantal prestatieverbeteringen die het sneller en efficiënter maken dan eerdere versies. Dit wordt bereikt door verschillende optimalisaties, zoals de JIT (Just-In-Time) compiler, die code tijdens runtime omzet in machineleesbare instructies, en de union types-functie, die efficiëntere typecontrole mogelijk maakt. Deze en andere verbeteringen resulteren in aanzienlijke prestatiewinsten, wat vooral gunstig kan zijn voor websites en applicaties met veel verkeer.

Een ander voordeel van PHP 8.1 is de verbeterde foutafhandeling en debugging-mogelijkheden. De nieuwe throwable errors-functie stelt ontwikkelaars in staat om fouten effectiever op te vangen en af te handelen, terwijl het verbeterde typesysteem het gemakkelijker maakt om problemen vroeg in het ontwikkelproces op te sporen en op te lossen. Bovendien maakt de nieuwe "match" expression-functie meer beknopte en expressieve code mogelijk, wat het debuggen en onderhouden kan vergemakkelijken.

PHP 8.1 introduceert ook een aantal nieuwe taalfuncties die het krachtiger en flexibeler maken. De eerder genoemde union types-functie stelt ontwikkelaars in staat om meerdere mogelijke typen voor een variabele op te geven, wat vooral nuttig kan zijn bij het werken met externe bibliotheken of API's. De nieuwe "constructor property promotion"-functie stelt ontwikkelaars in staat om hun code te vereenvoudigen door de noodzaak om overbodige getters en setters te schrijven te elimineren, terwijl de nieuwe "attributes"-functie ontwikkelaars in staat stelt metadata toe te voegen aan klasseleden, functies en andere taalconstructies.

Commando's om te upgraden naar PHP 8.1 op een Nginx-server op Ubuntu

Voor dit artikel gebruiken we Ubuntu

sudo apt update

sudo apt install lsb-release ca-certificates apt-transport-https software-properties-common -y

sudo add-apt-repository ppa:ondrej/php

sudo apt install php8.1
sudo apt install php8.1-{imagick,bz2,curl,intl,mysql,readline,xml,fpm,mbstring,zip,bcmath,gd}

Update de Nginx server blocks

Bewerk het server block voor de domeinen waarvoor u de PHP 8.1-versie wilt gaan gebruiken. Ik gebruik nano als mijn teksteditor, maar u kunt vim, vi of een andere teksteditor naar keuze gebruiken.

nano /etc/nginx/sites-available/yoursiteone.com

nano /etc/nginx/sites-available/yoursitetwo.com

U zou een regel moeten vinden die lijkt op: fastcgi_pass unix:/var/run/php/php7.4-fpm.sock; en vervang het nummer van de huidige PHP-versie, in mijn geval 7.4, door 8.1.

Nginx block voorbeeld om te updaten naar PHP 8.1

Nadat u de Nginx-server opnieuw hebt gestart met: service nginx restart, zullen uw site(s) PHP 8.1 gaan gebruiken

U kunt meer leren over server blocks in Nginx op:

Hoe Nginx server blocks in te stellen

Voorbeelden van server blocks

Als u DDEV gebruikt voor uw lokale omgeving, kunt u de volgende opdracht gebruiken om te upgraden naar PHP 8.1:ddev config --php-version 8.1 Meer informatie over DDEV vindt u op deze link.

Samenvattend biedt PHP 8.1 een aantal voordelen die het een aantrekkelijke keuze maken voor ontwikkelaars. De prestatieverbeteringen en verbeterde foutafhandeling maken het sneller en betrouwbaarder, terwijl de nieuwe taalfuncties het krachtiger en flexibeler maken. Als u momenteel een oudere versie van PHP gebruikt, wordt een upgrade naar PHP 8.1 sterk aanbevolen.