brand-lws-red brand-lws-white
Blog

Mise à jour PHP : pourquoi et comment passer à PHP 8.1 ?

05 septembre 2022

Mise à jour PHP : pourquoi et comment passer à PHP 8.1 ?

PHP est un langage de programmation utilisé par bon nombre de programmeurs. Il est très souvent utilisé pour le web, et aussi pour bien d’autres choses.

Actuellement, PHP en est à sa version 8, plus précisément la version PHP 8.1. C’est de cette version que nous allons parler, puisqu’elle renferme assez de nouveautés, de fonctionnalités et beaucoup d’améliorations. La version PHP 8.1 a vu le jour le 25 novembre 2021. La version PHP 8.2 est actuellement en phase beta, elle sera disponible en fin d’année. Vous trouverez dans cet article en quoi réside la puissance même de PHP 8.1 et comment passer à PHP 8.1 sur les hébergements LWS.

Les fonctionnalités offertes par PHP 8.1

La première des choses que nous allons aborder est ce qui a été observé en termes de nouvelles fonctionnalités au niveau de PHP 8.1. Il s’agira là des ajouts qui ont été faits à ce langage, et des choses qui ont connu des mises à jour. C’est une longue liste que nous allons essayer de parcourir petit à petit.

PHP 8.1

Les types d’intersection purs

PHP ajoute à sa mise à jour PHP 8.1 les types d’intersection purs. Cette fonctionnalité ressemble aux types union qu’a connu PHP 8.0. Mais il y a une nuance entre eux, et leur utilisation est complètement différente de l’un à l’autre. Pour connaître comment les utiliser, vous devez passer par la manière dont les types fonctionnent avec le langage PHP.

Pure intersection PHP 8.1

Dans le langage PHP, la déclaration d’un type unique a des limites. Seulement les types d’union pourront vous aider à les passer d’une bonne manière. Ainsi, vous avez la possibilité de déclarer des valeurs qui ont plusieurs types. Pour faire la déclaration des types d’intersection, vous avez besoin de l’opérateur & qui signifie en anglais AND, et ET en français, et de l’opérateur | pour les types d’union.

Les types d’intersections ont certaines particularités. Avec ces types, vous avez la possibilité d’inclure uniquement des types de classe.

Le langage PHP a des règles et des standards. Parmi ces derniers figure la règle des variances. Cette règle est principalement utilisée pour faire la vérification des types et de l’héritage. Les types d’intersections sont bien conformes à ces règles et standard. Pour plus d’informations sur les règles et les standards PHP concernant les types, vous pouvez consulter la RFC.

Enums

Aucune des anciennes versions de PHP ne prenait en compte les enums. Il s’agit des énumérations, ou en d’autres termes les types énumérés. C’est un type de donnés qui est typiquement défini par l’utilisateur. Il contient en son sein un ensemble de valeurs possibles. Comme exemple d’énumération, le plus répandu est le type booléen. Dans ce cas, les valeurs possibles sont true et false. De nos jours, assez de langages l’utilisent.

Enums PHP 8.1

C’est à la version PHP 8.1 que les énumérations ont été ajoutées à ce langage. Avant de le faire, il y a des choses qui ont été faites en amont. Les études se sont basées sur les langages qui utilisaient déjà l’énumération des types. Suite à ces études, il ressort que les énumérations peuvent être classées en trois grands groupes que nous allons découvrir.

Il s’agit des constantes fantaisistes, des objets fantaisistes et des types de données algébriques (ADT) complets. Au-delà des autres langages, PHP a ajouté des particularités à cette fonctionnalité enums. Ils ont fait l’implémentation des énumérations Fancy Objects, qui seront étendues aux ADT complets. On peut assimiler cela aux types énumérés des langages Swift, Rust et Kotlin. Mais il n’existe aucun lien direct entre eux.

enum Suit {
case Hearts;
case Diamonds;
case Clubs;
case Spades;

Dans ces lignes, Suit est une énumération qui a quatre valeurs possibles. Il s’agit des valeurs Hearts, Diamonds, Clubs et Spades. Pour accéder à ces valeurs, il y a une syntaxe bien définie. Pour chacune de ces valeurs, vous pouvez utiliser ces syntaxes respectives : Suit::Hearts, Suit::Diamonds, Suit::Clubs, et Suit::Spades. Cette utilisation montre bien que les enums sont liés avec les classes et les objets.

Ils sont presque semblables. Les enums que nous avions présentés sont appelés Pure Enums. Il existe aussi les Enums Backed. Les Enums Backed permettent d’utiliser des valeurs scalaires dans n’importe quel cas de votre choix. La limite de ces enums est le fait qu’ils n’utilisent qu’un seul type à la fois. C’est-à-dire que vous ne pourrez pas gérer avec ces enums du string et du int au même moment.

De plus, les Enums Backed n’admettent pas plusieurs valeurs. Le mélange entre les enums purs et backed ne peuvent pas se faire aussi.

Le type de retour never

PHP 8.1 ajoute à ses fonctions un nouveau type de retour. C’est le type de retour never. Les fonctions throw ou exit ont nécessairement besoin de l’utiliser afin de bien fonctionner. Le type de retour never peut être utilisé avec la fonction de redirection d’URL exit.

never return PHP 8.1

Une fonction dans laquelle vous voulez utiliser le type de retour never doit obligatoirement respecter certaines normes. Nous allons vous les énumérer ci-dessus.

  • la fonction doit prendre fin par l’expression never ;
  • l’expression return ne doit pas être mise de façon explicite ;
  • l’expression return ne doit pas être mise de façon implicite. Il s’agit des instructions if-else par exemple.

Le type de retour never et le type de retour void se ressemblent à quelques différences près. Avec ces deux types de retour, vous avez la garantie que la fonction à laquelle ils sont associés ne retournera rien. Pour bien observer les similitudes, vous devez appliquer certaines règles bien claires et bien spécifiques.

Comme exemple, une fonction qui est déclarée avec le type de retour never ne peut pas retourner sans valeur explicite. Mais c’est le contraire avec le type de retour void. Pour que PHP continue de s’exécuter même après l’appel de la fonction, vous pouvez utiliser le type de retour void. Par contre, le type de retour never va vous permettre de faire le contraire.

En voulant classer never, on le classe souvent dans les types de retour inférieur. Pour cette raison, toutes les méthodes de classe qui utilisent never ne peuvent jamais changer leur type de retour. Pour le type de retour void, il n’en est pas ainsi. Une extension peut se faire à ce niveau.

Fibers

Généralement, et aussi dans l’histoire du langage PHP, les codes ont toujours été synchrones. Tant que le résultat n’est pas envoyé, l’exécution du code ne s’arrête pas. Cela fait partie des choses qui rendent PHP lent. Pour résoudre ce problème, plusieurs solutions ont été trouvées, afin de rendre tous les codes PHP asynchrones. Cette résolution n’a pas été complète, puisqu’à sa suite, il y a eu d’autres problèmes encore, qui sont pratiquement sans solution.

fibers PHP 8.1

Une solution pour régler définitivement ce problème est d’utiliser les fibers. En les utilisant, il n’y aura donc plus de différence entre le code PHP synchrone, et le code PHP asynchrone.

En utilisant les fibers, vous pouvez faire des tas de piles de fonctions. Ces dernières pourront être interruptibles. Ainsi, vous aurez la possibilité d’utiliser la fonction multitâche coopérative de PHP. Le vrai rôle des fibers est en réalité d’interrompre l’ensemble de la pile d’exécution.

La nouvelle propriété readonly

Avec les anciennes versions de PHP, la prise en charge de la propriété readonly n’était pas permise. Mais avec PHP 8.1, cette fonctionnalité est rendue possible. Son initialisation ne se fait qu’une seule fois, et là où elle a été déclaré. Après son initialisation, il n’y a pas possibilité de faire des modifications. En voulant le faire, on fait face à une erreur.

readonly PHP 8.1

Cette méthode est irréversible. C’est-à-dire que le retour en arrière n’est pas faisable. Avec PHP 8.1, cette fonctionnalité est directement intégrée à PHP. On n’a donc plus besoin de traîner des codes d’activation de ladite propriété. Avec la propriété readonly, votre classe est immuable tant à l’intérieur qu’à l’extérieur.

L’utilisation de la propriété readonly a plusieurs avantages. Mais au-delà de ses avantages, il faut souligner aussi les problèmes auxquelles on est confronté quand on l’utilise. La propriété readonly est seulement utilisable pour les propriétés typées. Les propriétés non typées sont directement considérées comme null. La fonctionnalité readonly ne pourra donc pas fonctionner avec ces dernières.

L’autre chose est la propriété readonly ne rend pas vos objets immuables. Il n’y a pas aussi de possibilité normale pour cloner les objets de cette propriété. Il existe néanmoins des contournements que vous pouvez utiliser pour le faire.

Les nouvelles fonctions fsync() et fdatasync()

À la nouvelle version de PHP, c’est-à-dire PHP 8.1, il a été ajouté certaines fonctions de systèmes de fichiers. Ce sont les fonctions fsync() et fdatasync(). Elles ont été implémentées de la même manière que le système de fichier du système linux.

fsync et datasync PHP 8.1

Il y a une ancienne fonction PHP qui s’apparente à la fonction fsync() de PHP 8.1. Il s’agit de la fonction fflush(), mais avec quelques différences. La fonction fsync() vide en réalité les tampons dans le stockage physique, tandis que la fonction fflush() le fait au niveau du système d’exploitation. Le fait de faire le vidage dans le stockage physique vous donne la possibilité de récupérer facilement vos données en cas de problème. Que le problème soit du niveau du système, ou de l’application, cela peut être géré.

Le fait d’avoir ajouté l’appel de la fonction fsync() à la fin du code nous permet d’être sûr d’un fait : tous les fichiers sont écrits dans le stockage. Il y a une autre fonction qui vous permet de faire la synchronisation de vos données. Elle n’est pas trop différente de la fonction fsync(). Il s’agit de la fonction fdatasync(). Dans certains cas, l’utilisation de cette fonction vous rend les choses un peu plus rapides.

Le code suivant est une illustration de l’utilisation de la fonction fsync().

$doument= 'lws.txt';

$l = fopen($document, 'ki');

fwrite($l, 'info doc');

fwrite($l, '\r\n');

fwrite($l, 'more info');

fsync($l);

fclose($l);

Actuellement avec la version PHP 8.1, la fonction fdatasync() ne fonctionne pas correctement. Surtout sur le système d’exploitation Windows. Cette fonction continue toujours d’agir sous le contrôle de la fonction fsync().

La nouvelle fonction array_is_list()

Les clés entières et les chaînes de caractères sont très utilisées dans le langage PHP. Vous pouvez par exemple les utiliser pour les listes, les dictionnaires, les tables de hachage, les piles, les collections, et pleins d’autres choses intéressantes.

array list PHP 8.1

Vous pouvez également vous en servir pour faire des tableaux multidimensionnels. C’est-à-dire des tableaux dans d’autres tableaux. Vous pouvez faire assez d’opérations. Pour vérifier si un tableau est une liste vous pouvez utiliser la fonction array_is_list() . Cette fonction array_is_list(), passe par les clés du tableau à partir de 0 et fait un contrôle. Ce contrôle consiste à voir si toutes les clés sont en ordre. Lorsque toutes les conditions sont bonnes, la fonction renvoie true. Par défaut, la valeur renvoyée par cette fonction est true pour les tableaux vides. Nous allons vous montrer ci-dessous quelques utilisations de la fonction array_is_list().

Cet exemple prend en compte les deux cas : Le cas où la fonction renvoie true, et le cas où elle renvoie false.

// true array_is_list() examples
array_is_list([]); // true
array_is_list([1, 2, 3]); // true
array_is_list(['cats', 2, 3]); // true
array_is_list(['cats', 'dogs']); // true
array_is_list([0 => 'cats', 'dogs']); // true
array_is_list([0 => 'cats', 1 => 'dogs']); // true

// false array_is_list() examples
array_is_list([1 => 'cats', 'dogs']); // as first key isn't 0
array_is_list([1 => 'cats', 0 => 'dogs']); // keys are out of order
array_is_list([0 => 'cats', 'bark' => 'dogs']); // non-integer keys
array_is_list([0 => 'cats', 2 => 'dogs']); // gap in between keys

Lorsqu’une liste de tableaux PHP n’a pas ses clés ordonnées, il s’agit d’une grande source de bug. Pour corriger cela, vous pourrez utiliser la fonction array_is_list(). Vous pouvez l’utiliser avant même de passer à l’exécution de votre code PHP.

Les nouvelles fonctions Sodium XChaCha20

Il existe avec le langage PHP une bibliothèque de cryptographie. Cette bibliothèque gère en réalité tout ce qui concerne le cryptage, le décryptage, et aussi le hashage des mots de passe. Elle permet également de gérer les signatures, et bien au-delà. Le paquet PECL libsodium est utilisé pour assurer la sécurité des réseaux ou des canaux.

Avec ce paquet associé à la fonction Sodium, les utilisateurs naviguent en sécurité, et avec une connexion rapide. Pour assurer le cryptage et le décryptage des informations, le paquet utilise l’algorithme de cryptage XChaCha20. Avec PHP 8.1, XChaCha20 a maintenant de nouvelles fonctionnalités. Ces fonctionnalités sont toujours orientées vers le cryptage et le décryptage des informations.

Voici les fonctionnalités qui ont été nouvellement ajoutées :

  • sodium_crypto_stream_xchacha20_keygen : cette fonction renvoie une clé générée de façon aléatoire, et qui est sécurisée. Elle sera utilisée par la fonction sodium_crypto_stream_xchacha20.
  • sodium_crypto_stream_xchacha20 : c’est cette fonction qui permet de faire le développement de la clé.
  • sodium_crypto_stream_xchacha20_xor : c’est cette fonction qui gère le chiffrement de l’information, en utilisant un nonce et une clé. Ce processus ne nécessite pas d’authentification.

Dans l’espace de nom global, il y a maintenant de nouvelles constantes PHP. Il s’agit de SODIUM_CRYPTO_STREAM_XCHACHA20_KEYBYTES (assigné 32) et de SODIUM_CRYPTO_STREAM_XCHACHA20_NONCEBYTES (assigné 24). Pour ces constantes, il n’y a pas d’authentification. En les utilisant, vous êtes donc exposé à différents types d’attaques.

La nouvelle classe IntlDatePatternGenerator

Il y a une bibliothèque PHP qui permet de gérer les dates et les heures, c’est la bibliothèque ICU. Vous pouvez créer des formats de dates et heures définis à l’avance. Il vous suffira d’utiliser la constante prédéfinie IntlDateFormatter. Cette constante a plusieurs façons d’être utilisée. Nous allons vous en présenter quelques-unes.

  • IntlDateFormatter::MEDIUM : pour définir un format de date court comme Dec 25, 2022
  • IntlDateFormatter::SHORT : pour un format de date numérique, comme 25/12/22 ou 11:22pm
  • IntlDateFormatter::LONG : pour un format de date long comme 25 décembre 2022 ou 11:22:33pm

En utilisant cette fonctionnalité, il y a beaucoup d’arguments qui rendent intéressant ce formatage. Vous avez la possibilité de définir la date dans des plages qui se situent avant ou après la date actuelle. Les valeurs qui sont les plus souvent utilisées dans le langage PHP sont : yesterday, today et tomorrow. Si vous voulez donc gérer des dates, c’est donc à vous de voir le formatage parfait qui conviendrait bien à ce que vous voulez.

Avec PHP 8.1, cette fonctionnalité est améliorée. Il vous suffira tout simplement d’utiliser IntlDatePatternGenerator. Cette classe vous offre la possibilité de spécifier le format dont vous avez besoin. Vous avez également la possibilité de gérer les heures avec cette classe.
Voici un exemple de l’utilisation de cette classe :

$format = "YYYYMMdd";

$cejour = \DateTimeImmutable::createFromFormat('Y-m-d', '2021-04-24');

$dtpg = new \IntlDatePatternGenerator("de_DE");
$pattern = $dtpg->getBestPattern($format);
echo "de: ", \IntlDateFormatter::formatObject($cejour, $pattern, "de_DE"), "\n";

$dtpg = new \IntlDatePatternGenerator("en_US");
$pattern = $dtpg->getBestPattern($skeleton), "\n";
echo "en: ", \IntlDateFormatter::formatObject($cejour, $pattern, "en_US"), "\n";

Dans le code ci-dessus, c’est la variable format qui définit les formats particuliers de date et heure à utiliser.

La prise en charge du format d’image AVIF

AVIF est un format d’image totalement libre de droit. Avec ce format d’image, vous avez la possibilité de faire facilement vos compressions de fichiers.

Avec PHP 8.1, il y a eu plusieurs nouveautés concernant le format d’image AVIF. Ces fonctionnalités ne fonctionnent qu’en présence de l’extension GD. Vous devez donc nécessairement l’installer.

Après l’installation des dernières dépendances, vous pouvez procéder à la compilation du support AVIF. Il vous suffira de faire l’exécution du flag –with-avif, sous le contrôle du script ./configure. Pour le faire, vous avez besoin d’entrer les lignes suivantes :

./buildconf --force
./configure --enable-gd --with-avif

Après toutes ces étapes, vous pouvez procéder à des vérifications. Il s’agira de vérifier si la prise en charge est prise en compte. Voilà ci-dessous la commande de vérification :

php -i | grep AVIF

Il existe une possibilité de faire une liste de toutes les fonctionnalités de GD. En affichant cette liste, vous saurez même si la fonction AVIF est activée. Avec la dernière version de GD de PHP 8.1, vous avez la possibilité d’avoir beaucoup de nouvelles choses. Il y a par exemple imagecreatefromavif et imageavif. Elles vous donnent la possibilité de travailler très facilement les images AVIF. On peut les comparer aisément à JPEG et PNG.

Leur mode de fonctionnement est semblable. Avec imagecreatefromavif, vous avez en sortie une instance GdImage, si vous fournissez en entrée une image AVIF. Pour vos besoins de conversion et de modification d’image, vous pourrez donc utiliser cette instance. Avec imageavif, vous avez la possibilité de créer des images AVIF à partir d’une entrée JPEG. Pour l’utilisation de cette fonction, vous avez besoin du code suivant :

$image = imagecreatefromjpeg('image.jpeg');
imageavif($image, 'image.avif');

Les changements observés au niveau de PHP 8.1

La version PHP 8.1 renferme assez de changements comparativement aux autres versions. Nous exposerons brièvement ces changements.

Le shell interactif de PHP a forcément besoin de l’extension readline

PHP dispose d’une fonction qui permet à ces utilisateurs d’utiliser un shell. C’est bien sûr la fonction readline qui permet d’utiliser le shell interactif. Ce shell interactif permet une navigation facile, une autocomplétion, et aussi une flexibilité dans les éditions. Avant d’utiliser cette fonction, vous devez l’activer : elle est incluse dans PHP.

Le shell interactif comporte plusieurs commandes que vous devez maîtriser pour une utilisation intéressante et efficace. Pour accéder au shell interactif, utilisez la commande PHP -a.
Avant la version PHP 8.1, vous n’aviez pas besoin d’activer la fonction avant de l’utiliser.

Le mode d’erreur par défaut de MySQLi est défini sur Exceptions

Dans les versions de PHP antérieures à PHP 8.1, les erreurs n’étaient pas visibles, leur affichage se faisait de façon discrète. Ainsi, ces versions obligeaient les programmeurs qui utilisent ce langage à code eux-mêmes des codes pour gérer les erreurs et les exceptions. Avec PHP 8.1, cela a totalement changé, les programmeurs n’auront plus à coder la gestion des erreurs.

PHP 8.1 facilite la tâche du côté des exceptions. Vous n’avez donc plus besoin de définir de façon explicite la manière dont les erreurs et exceptions doivent être traitées. PHP 8.1 vous débarrasse ainsi des fonctions inutiles.

La possibilité de personnaliser les fins de lignes pour les fonctions d’écriture CSV

Avant la mise à jour de PHP vers PHP 8.1, il fallait coder souvent (pour faire des retours à la ligne par exemple). Mais avec PHP 8.1, la vie vous est rendue facile. Tout le code est mis déjà dans une fonction. Il vous suffira tout simplement de faire appel à cette dernière pour gérer ce que vous voulez.

Le paramètre que vous devez utiliser pour cette fonctionnalité est eol. Vous pouvez l’intégrer à n’importe lequel de vos codes PHP. Toujours grâce au PHP 8.1, vous pouvez très facilement gérer les échappements de caractère.

Les nouvelles restrictions de l’opérateur version_compare

Il existe dans PHP, même avant PHP 8.1, une fonction qui permet de faire la comparaison de deux chaînes de numéro de version. C’est la fonction version_compare() qui va avec un troisième argument operator. Cet argument a pour rôle de faire des tests particuliers.

Avant PHP 8.1, on a la possibilité de définir des valeurs partielles pour cet argument. Mais avec PHP 8.1, il y a eu des restrictions sur l’utilisation de cette fonction et aussi du troisième argument.

Ce qui a été modifié est l’ensemble des opérateurs qui peuvent être utilisés avec cette fonction. Ces opérateurs sont :

  • ==, =, et eq
  • !=, <>, et ne
  • > et gt
  • >= et ge
  • < et lt
  • <= et le

Quelques dépréciations dans PHP 8.1

Avec PHP 8.1, plusieurs choses ont été corrigées. Nous allons vous présenter quelques-unes de ces dépréciations.

L’impossibilité de passer une valeur null à des paramètres de fonction non nuls

Avec les versions qui ont précédé PHP 8.1, les fonctions acceptaient des valeurs null, même avec des arguments non nuls :

var_dump(str_contains("foobar", null));
// bool(true)

Dans cet exemple, la valeur null a été convertie en chaîne de caractère. Cela s’est fait de façon discrète. C’est pour cette raison que le résultat renvoie true.

Avec PHP 8.1, cette manière de travailler va susciter un avertissement de dépréciation :

var_dump(str_contains("foobar", null));
// Deprecated: Passing null to argument of type string is deprecated

Voilà l’une des corrections apportées par PHP 8.1 à ce niveau. Les fonctions internes doivent être cohérentes avec les fonctions de l’utilisateur du langage.

Les déclarations de type de retour pour les fonctions internes

Plusieurs RFC des versions antérieurs au PHP 8.1 ont permis à tous ceux qui codent de le faire plus facilement. Comme exemple, il y a la possibilité de faire la déclaration des paramètres et des types de retour au niveau des fonctions et des méthodes internes. Mais ce moyen de rendre la vie facile aux programmeurs a une faille. Il y a des cas où les informations sur certains types manquent.

Néanmoins, cette RFC est en train d’être revue afin que cette faille soit définitivement résolue. Ainsi, la base de code des programmeurs sera mise à jour, et tous les problèmes liés aux types de retour seront réglés. Si par rapport aux types de retour, vous avez eu de souci après avoir fait la mise à jour vers PHP 8.1, pensez à mettre à jour vos types de retour.

L’interface sérialisable dépréciée

Dans la version 7.4 de PHP, il y a un moyen de gérer la sérialisation des objets personnalisés avec deux méthodes __serialize() et __unserialize(). Avec PHP 8.1, vous n’avez pas la possibilité d’implémenter l’interface sérialisable sans implémenter ces deux méthodes. Vous aurez à coup sûr une erreur de dépréciation. Cette erreur va vous obliger à faire l’implémentation de ces méthodes.

Les conversions non compatibles de float à int dépréciées

Par rapport au typage des variables, chaque langage a ses spécificités. Le langage PHP est typé de façon dynamique. Mais un niveau des conversions de types, il y a souvent des erreurs. L’erreur principale que nous allons souligner est la perte des données après la conversion. De 3,14 à 3 par exemple, on a une perte de valeur.

On est également confronté à cette même erreur lorsqu’il s’agit de convertir un entier en un flottant. Avec PHP 8.1, ce problème est corrigé. Cette correction consiste à afficher des messages de dépréciation lorsqu’un utilisateur mène ses actions. La conversion ne sera possible qu’avec les flottants qui sont compatibles avec les entiers.

Déprécier l’autovivification sur false

Avec le langage PHP, vous pouvez automatiser la création de tableaux. Mais cela se fait en entrant des valeurs fausses. C’est ce qu’on appelle autovivification. Vous pouvez en faire usage lorsque la variable est indéfinie. Il n’est pas conseillé de créer des tableaux avec des valeurs fausses ou nulles. Lorsque vous allez le faire dans PHP 8.1, vous aurez un message de dépréciation.

La propriété mysqli_driver->driver_version est dépréciée

Le langage PHP est doté de plusieurs propriétés, qui sont gérées par des extensions. Il y a par exemple la propriété mysqli_driver->driver_version, qui a pour extension MySQLi. Ces choses ont été intégrées au PHP, il y a bien longtemps. Depuis ce temps, cette propriété n’a connu aucune mise à jour. Bien que les pilotes aient connu de modifications, cette propriété ne répond pas comme cela se doit.

C’est ce mauvais fonctionnement qui rend inutile l’utilisation de cette propriété et donc sa dépréciation dans PHP 8.1.

Comment passer à PHP 8.1 sur les hébergements LWS ?

Les formule d’hébergement web LWS sont compatibles avec PHP 8.1 ! Actuellement, à chaque nouvelle commande, PHP8.1 sera automatiquement installé sur votre hébergement. Si vous avez un hébergement « ancien », alors vous pouvez facilement faire la mise à jour PHP de votre hébergement LWS.

La migration de votre version de PHP sur les hébergements LWS n’est pas complexe. Il suffit de suivre quelques étapes simples pour y arriver. Vous trouverez ci-dessous ces étapes simples pour assurer le changement de version plus facilement.

Passer à PHP 8.1 via LWS Panel

Lorsque vous travaillez avec des CMS comme WordPress, vous avez souvent besoin de changer la version de PHP pour permettre la compatibilité et parfois parce que le CMS le demande. Avec LWS Panel, changer la version de PHP n’est pas du tout difficile. Vous devez juste suivre ces quelques étapes simples.

Tableau de bord LWS Panel

  1. Connectez-vous à votre tableau de bord LWS Panel
  2. Ensuite, dans la section Base de données & PHP, vous cliquez sur le bouton Configuration PHP.

Choix de la version de PHP

3. Sur la nouvelle page qui s’ouvre, vous verrez une liste déroulante avec la version actuelle de PHP que vous utilisez sur votre hébergement. Vous n’aurez qu’à cliquer sur la liste pour choisir la version PHP 8.1 et le tour est joué !

Choix de la version de PHP8.1

Avec ces étapes simples, vous pouvez facilement passer d’une version de PHP à l’autre. Ici, la version qui nous intéresse est la 8.1. Vous avez aussi la possibilité de changer les paramètres de PHP sur la même fenêtre. Vous pouvez aussi vous faire aider par une équipe technique au cas où vous ne sauriez pas le faire.

Mise à jour PHP via cPanel

Avec un hébergement web cPanel, vous avez la possibilité de choisir le type de version de PHP que vous souhaitez utiliser pour votre site indépendamment des autres sites web hébergés même lorsque vous ajoutez des modules.
Les étapes ici sont très simples :

    1. Connectez-vous à votre tableau de bord cPanel

Choix de la version de PHP avec cPanel

  1.       2. Ensuite, dans la rubrique Logiciel, cliquez sur le bouton Sélectionner une version de PHP.

Choix de la version de PHP 8.1 cPanel

  1.       3. Sur la nouvelle page qui s’ouvre, vous trouverez un menu déroulant avec votre version actuelle de PHP. Vous n’aurez donc qu’à choisir dans la liste déroulante la version de PHP 8.1 et cliquer sur le bouton Set as current juste à côté.

PHP 8.1 cPanel

Vous avez aussi la possibilité sur cette fenêtre d’ajouter ou de désactiver certains modules de PHP dans le cas où vous en avez besoin. La liste des modules est juste en dessous du menu déroulant.

Avec ces étapes simples, vous changerez votre version de PHP sur cPanel beaucoup plus facilement. N’oubliez surtout pas de prendre vos précautions lors de cette manipulation. Il peut y avoir de petits soucis d’incompatibilité de version entre votre site internet et le serveur. Ne faites donc cette manipulation que si c’est vraiment nécessaire et faites vous guider si besoin.

Mettre à jour PHP sur un VPS

Sur un serveur VPS, vous avez aussi la possibilité de changer les versions de PHP comme avec les autres types d’hébergement. Si vous optez pour ISPConfig comme tableau de bord, alors vous pouvez suivre les quelques étapes ci-dessous pour changer la version de PHP sur votre serveur.

ISPConfig

  1. Connectez-vous à votre tableau de bord ISPConfig
  2. Cliquez sur l’onglet Sites pour avoir accès au panneau de contrôle de vos sites
  3. Choisissez le site sur lequel vous souhaitez changer la version de PHP
  4. Au niveau de la version de PHP, sélectionnez la version 8.1 et Enregistrez.

Vous utilisez maintenant la version PHP 8.1. Si vous ne savez pas comment le faire, vous pouvez demander l’aide d’une équipe technique.

 

Conclusion

Félicitations!🎉👏 Vous savez maintenant quelles sont les fonctionnalités de PHP8.1 et comment mettre à jour votre version de PHP 8.1. 😀 C’est une version à laquelle il a été intégré assez de fonctionnalités, de nouveautés, d’améliorations, et aussi de dépréciations. Ce langage continue d’être amélioré et pourra toujours continuer à vous servir dans vos tâches.  Ce petit guide vous guidera pas à pas tout au long de votre procédure de changement de version.😊

Plus d'informations


La version 8.2 de PHP sera disponible en fin d’année, renouvelez votre visite pour découvrir les nouveautés et comment faire la mise à jour !

Besoin d'un hébergement web au meilleur prix ?

LWS vous conseille sa formule d’hébergement en promotion à -25% (offre à partir de 1,49€ par mois au lieu de 1,99 €). Non seulement les performances sont au rendez-vous mais vous profitez en plus d’un support exceptionnel.

Découvrir l'offre

Hébergement web au meilleur prix

Vous avez des questions ou besoin d’aide pour mettre à jour PHP ? N’hésitez pas à nous contacter via la rubrique Commentaires disponible ci-dessous !

 

Commentaires (0)

Laisser un commentaire

Votre adresse de messagerie ne sera pas publiée. Les champs obligatoires sont indiqués avec *

Serveurs performants haut de gamme

Serveurs performants
haut de gamme

Logiciels avec installation en 1 clic

Logiciels avec
l'installation en 1 clic

Sécurité optimale pour vos sites

Sécurité optimale
pour vos sites

Confiance, 100% en France

Confiance, 100%
en France

100% Satisfait ou Remboursé

100% Satisfait
ou Remboursé