Télécharger mon CV

WordPress et PHP 8 : ce qu’il faut savoir

28 décembre 2020

Lors de la livraison de sa dernière mise à jour majeure, WordPress 5.6 « Simone », le CMS a annoncé qu’il prenait en charge PHP 8, sorti quelques jours plus tôt.

WordPress 5.6 est-il vraiment compatible avec PHP 8 ? © andreyakaan147 – stock.adobe.com

C’est l’une des grandes nouveautés de cette dernière version : le Core de WordPress 5.6, la dernière mise à jour majeure sortie le 9 décembre 2020, est compatible avec PHP 8. Lancée le 26 novembre dernier, la dernière version majeure du langage de programmation permet d’améliorer sensiblement les performances. Il faut ainsi noter les efforts importants fournis par la communauté WordPress pour sortir en si peu de temps une nouvelle version majeure, la 5.6, tout en prenant en charge le support de PHP 8. Mais WordPress 5.6 est-il vraiment compatible avec cette version de PHP ? Qu’en est-il de l’écosystème entier du CMS ? Voici quelques éléments de réponse.

Laps de temps nécessaire pour assurer la meilleure compatibilité possible

Comme pour toute mise à disposition d’une nouvelle version, certains dysfonctionnements pourraient se produire, notamment dans les premiers jours de son utilisation. WordPress fonctionne en effet comme un écosystème dont le cœur (le CMS WordPress lui-même) est l’élément central. Un ensemble d’éléments gravitent autour, tels que les plugins, les thèmes, mais aussi la partie logiciel serveur. Une mise à jour de WordPress est donc impactante pour tout cet écosystème, et c’est pour cette raison que les bugs sont presque inévitables et rarement graves.

Pour corriger les bugs issus d’une mise à jour importante et grâce au retour de la communauté, il est très fréquent qu’une mise à jour mineure sorte dans les jours qui suivent une version majeure. Ainsi, les bugs inhérents au Core pourront être corrigés rapidement, grâce aux prochaines versions mineures.

De leur côté, les développeurs sont invités à mettre à jour dès que possible, leurs thèmes et plugins, afin d’assurer la continuité de leur fonctionnement avec la dernière version de PHP. Ce laps de temps est ainsi nécessaire pour atteindre la meilleure compatibilité possible entre WordPress 5.6 et PHP 8, et s’assurer qu’un maximum de sites puissent profiter des apports de PHP 8 en production.

Une « compatibilité bêta » entre WordPress 5.6 et PHP 8

Développeur WordPress et contributeur au sein de l’équipe dédiée à l’amélioration du Core, Jonathan Desrosiers évoque un état « compatible bêta » pour qualifier la prise en charge de PHP 8 par WordPress 5.6 :

L’état du support de PHP 8 dans l’écosystème plus large (plugins, thèmes, etc.) est impossible à connaître. Pour cette raison, WordPress 5.6 doit être considéré comme « compatible bêta » avec PHP 8, explique le développeur.

Le contributeur au Core de WordPress préfère rester sur la réserve et apporter cette nuance, car la majorité des plugins et des thèmes, qui assurent le bon fonctionnement des sites sur WordPress, ne bénéficient pas encore tous d’une mise à jour leur permettant d’être compatible avec PHP 8, dès la sortie de WordPress 5.6.

Pour arriver à ce statut « compatible bêta », WordPress a néanmoins réussi à passer tous les tests de compatibilité haut la main.

Il convient également de noter que tous les problèmes de compatibilité connus qui ont été identifiés grâce à des tests automatisés ou à une analyse statique ont été résolus (…). La couverture de test automatisée de WordPress Core a besoin de beaucoup d’améliorations, et certains problèmes nécessiteront des tests manuels de WordPress sur PHP 8 dans des conditions variables à découvrir, poursuit Jonathan Desrosiers.

Pas (encore) de compatibilité totale entre PHP 8 et l’écosystème WordPress

Le travail fourni par la communauté WordPress a permis de livrer dans les temps – avec un jour de décalage – la dernière version majeure du CMS avec la prise en charge de PHP 8. Mais, pour l’heure, l’ensemble des versions de WordPress et tout ce qui constitue son écosystème ne sont pas encore compatibles avec la mise à jour du langage de programmation.

L’objectif est d’élever l’écosystème plus large à un état compatible avec PHP 8. Cela nécessite que le logiciel Core non seulement soit compatible seul, mais fournisse également des défenses contre les problèmes courants rencontrés lors de la transition vers PHP 8, tout en continuant à fonctionner sur les anciennes versions de PHP, ajoute Jonathan Desrosiers.

Selon le développeur, le Core de WordPress ne peut donc encore prétendre à une compatibilité totale pour le moment. Ce processus devrait prendre plus de temps afin d’être opérationnel au sein de l’écosystème WordPress.

Quelles versions de PHP sont prises en charge par WordPress ?

Si WordPress 5.6 permet le support de PHP 8, ce n’est donc pas le cas pour l’ensemble des versions proposées par le CMS. Dans son post de blog, Jonathan Desrosiers fait le point sur les versions de PHP prises en charge par WordPress :

La version majeure actuelle de PHP est la 7. Au cours des 5 dernières années, il y a eu 4 versions de fonctionnalités pour la version majeure de PHP 7 (7.1, 7.2, 7.3 et 7.4), et plus de 130 versions de correctifs de sécurité / bogues pour ces versions de fonctionnalités.

Quant aux versions plus anciennes, elles restent inchangées : WordPress continue de supporter PHP 5.6.20 et supérieures.

Si vous souhaitez bénéficier des nouvelles fonctionnalités apportées par PHP 8 sur votre site, il est fortement recommandé de tester d’abord votre site sur un serveur dédié au test ou en local sur votre poste avant de lancer la mise à jour. À noter également que si vous mettez régulièrement à jour les dernières versions de PHP, votre site sera moins susceptible de rencontre de dysfonctionnement majeur lors de son passage vers la nouvelle version.

Pour aller plus loin, vous pouvez également consulter le rapport de compatibilité WordPress et PHP 8 2020 publié par Yoast sur les impacts de cette mise à jour sur le CMS.

Source : WordPress et PHP 8 : ce qu’il faut savoir

Posté dans PHP, WordPress
Écrire un commentaire