Quels sont les avantages de PHP 8.1 et les commandes pour passer d'une ancienne version sur Nginx ?
Nouvelles fonctionnalités et améliorations de PHP 8.1
PHP 8.1 est la dernière version du langage de script côté serveur populaire, et elle apporte une multitude de nouvelles fonctionnalités et d'améliorations qui en font un choix convaincant pour les développeurs. Dans cet article, nous mettrons en évidence certains des principaux avantages de la mise à niveau vers PHP 8.1.
Tout d'abord, PHP 8.1 introduit un certain nombre d'améliorations de performances qui le rendent plus rapide et plus efficace que les versions précédentes. Ceci est réalisé grâce à diverses optimisations, telles que le compilateur JIT (Just-In-Time), qui convertit le code en instructions lisibles par la machine à l'exécution, et la fonctionnalité des types union, qui permet une vérification de type plus efficace. Ces améliorations et d'autres entraînent des gains de performances significatifs, ce qui peut être particulièrement bénéfique pour les sites Web et les applications à fort trafic.
Un autre avantage de PHP 8.1 est ses capacités améliorées de gestion des erreurs et de débogage. La nouvelle fonctionnalité d'erreurs levables permet aux développeurs de capturer et de gérer les erreurs plus efficacement, tandis que le système de types amélioré facilite la capture et la correction des problèmes dès le début du processus de développement. De plus, la nouvelle fonctionnalité d'expression « match » permet un code plus concis et expressif, ce qui peut faciliter le débogage et la maintenance.
PHP 8.1 introduit également un certain nombre de nouvelles fonctionnalités linguistiques qui le rendent plus puissant et flexible. La fonctionnalité des types union mentionnée précédemment permet aux développeurs de spécifier plusieurs types possibles pour une variable, ce qui peut être particulièrement utile lors de l'utilisation de bibliothèques ou d'API externes. La nouvelle fonctionnalité « promotion de propriété de constructeur » permet aux développeurs de simplifier leur code en éliminant le besoin d'écrire des getters et des setters redondants, tandis que la nouvelle fonctionnalité « attributs » permet aux développeurs d'attacher des métadonnées aux membres de classe, aux fonctions et à d'autres constructions linguistiques.
Commandes pour passer à PHP 8.1 sur un serveur Ngnix sur Ubuntu
Pour les besoins de ce guide, nous utilisons 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}
Mettre à jour les blocs de serveur Nginx
Modifiez le bloc de serveur pour les domaines pour lesquels vous souhaitez commencer à utiliser la version PHP 8.1. J'utilise nano comme éditeur de texte, mais vous pouvez utiliser vim, vi ou tout autre éditeur de texte de votre choix.
nano /etc/nginx/sites-available/yoursiteone.com
nano /etc/nginx/sites-available/yoursitetwo.com
Vous devriez trouver une ligne qui ressemble à celle-ci : fastcgi_pass unix:/var/run/php/php7.4-fpm.sock;
et remplacez le numéro de la version actuelle de PHP, dans mon cas 7.4, par 8.1.

Après avoir redémarré le serveur Nginx avec : service nginx restart
, votre ou vos sites commenceront à utiliser PHP 8.1
Vous pouvez en savoir plus sur les blocs de serveur dans Nginx à l'adresse :
Comment configurer les blocs de serveur Nginx (hôtes virtuels) sur Ubuntu 16.04
Si vous utilisez DDEV pour votre environnement local, vous pouvez utiliser la commande suivante pour passer à PHP 8.1 : ddev config --php-version 8.1
Vous trouverez plus d'informations sur DDEV dans ce lien.
En résumé, PHP 8.1 offre un certain nombre d'avantages qui en font un choix attrayant pour les développeurs. Ses améliorations de performances et ses capacités de gestion des erreurs améliorées le rendent plus rapide et plus fiable, tandis que ses nouvelles fonctionnalités linguistiques le rendent plus puissant et flexible. Si vous utilisez actuellement une ancienne version de PHP, la mise à niveau vers PHP 8.1 est fortement recommandée.