Module 8 · 8.4
Français
Versions de PHP et mises à niveau
Module 8: Sauvegardes, site de préproduction (staging) et mises à jour PHP · Temps de lecture : 10 minutes
Objectif pédagogique : après cette leçon, vous saurez préparer, exécuter et, si nécessaire, annuler une mise à niveau de PHP en toute sécurité.
Notions clés : cycle de vie de PHP (support actif, sécurité uniquement, fin de vie), compatibilité de WordPress, du thème et des extensions, obsolète (deprecated), avertissement, erreur fatale, Santé du site, journal des erreurs, site de préproduction (staging), restauration, faire réaliser la mise à niveau
Pourquoi les versions de PHP sont importantes
WordPress, votre thème et vos extensions sont écrits en PHP (leçon 1.2). Chaque année, une nouvelle version de PHP sort (8.3, 8.4, 8.5, ...). Chaque version est maintenue pendant une durée fixe :
- support actif : deux ans de corrections de bugs et de sécurité ;
- sécurité uniquement : ensuite, encore deux ans de corrections de sécurité uniquement ;
- fin de vie (end of life) : plus aucune correction, même pas pour les failles.
La situation au 8 novembre 2026, selon php.net :
| Version | Mises à jour de sécurité jusqu'au | État |
|---|---|---|
| 8.1 et antérieures | (dépassé) | Plus de mises à jour |
| 8.2 | 31 décembre 2026 | Sécurité uniquement, fin proche |
| 8.3 | 31 décembre 2027 | Sécurité uniquement |
| 8.4 | 31 décembre 2028 | Actif |
| 8.5 | 31 décembre 2029 | Actif |
Un site utilisant une version sans mises à jour fonctionne avec un logiciel comportant des failles connues qui ne seront plus corrigées. De plus, les versions plus récentes sont nettement plus rapides (leçon 6.3). Et wordpress.org recommande PHP 8.3 ou supérieur (situation en novembre 2026). L'idée est donc de rester à jour chaque année, pas de faire un grand saut une fois tous les cinq ans.
Pourquoi une mise à niveau peut casser quelque chose
Chaque nouvelle version de PHP change certaines choses. Des fonctions marquées comme obsolètes (deprecated) depuis des années sont supprimées, et les règles deviennent plus strictes. Quelques exemples connus :
- PHP 8.0 a supprimé notamment
create_function()eteach(), et de nombreux avertissements sont devenus des erreurs ; - PHP 8.2 a marqué comme obsolète la création dynamique de propriétés sur des objets, une pratique fréquente dans les anciennes extensions.
Il existe trois types de messages, et la différence est importante :
| Message | Signification | Conséquence |
|---|---|---|
| Deprecated (obsolète) | « Cela fonctionne encore, mais disparaîtra dans une version suivante » | Rien de visible ; un avertissement pour l'avenir |
| Warning ou Notice | Quelque chose ne va pas tout à fait | Généralement rien de visible, parfois un élément qui se comporte bizarrement |
| Fatal error | PHP s'arrête | Page blanche ou « erreur critique » (leçon 5.4) |
WordPress lui-même suit généralement bien les nouvelles versions de PHP. Le risque se situe du côté des anciennes extensions et anciens thèmes, surtout s'ils n'ont pas été mis à jour depuis longtemps ou s'ils sont développés sur mesure.
Trouver votre version actuelle
- Dans WordPress : Outils > Santé du site, onglet Informations, sous Serveur : la version de PHP. Santé du site vous avertit également si votre version est obsolète.
- Dans votre panneau d'hébergement : sous DirectAdmin avec CloudLinux dans Select PHP version (avec « (current) » après la version actuelle).
- Parfois, le serveur le révèle dans l'en-tête
X-Powered-By: PHP/8.3.x. Ce n'est pas recommandé (leçon 7.4), mais s'il est présent, c'est vite repéré.
Attention : chez de nombreux hébergeurs, la version de PHP s'applique à tout votre pack, donc à tous les sites qu'il contient. Un ancien site dans le même pack peut vous bloquer. C'est une raison supplémentaire de nettoyer les anciens sites ou de leur attribuer un pack propre.
La mise à niveau, étape par étape
- Mettre à jour d'abord. Mettez à jour WordPress, votre thème et toutes vos extensions sur la version de PHP actuelle. Une grande partie des problèmes est ainsi déjà résolue, car les développeurs adaptent leur code aux nouvelles versions de PHP.
- Regardez ce que disent vos extensions. Sur la page de l'extension sur wordpress.org figure la version de PHP requise ; dans le journal des modifications, on trouve souvent « compatible with PHP 8.x ». Une extension qui n'a pas été mise à jour depuis des années (leçon 5.3) est une candidate au remplacement.
- Faire une sauvegarde (leçon 8.1).
- Tester sur un site de préproduction (staging) (leçon 8.3). Si votre hébergeur peut attribuer une version de PHP différente par site, placez le site de préproduction sur la nouvelle version. Si ce n'est pas possible (une seule version par pack), testez sur un site de préproduction dans un autre pack, en local, ou choisissez un moment calme en production avec l'ancienne version prête à être restaurée.
- Basculer : choisissez la nouvelle version dans votre panneau. Sous DirectAdmin avec CloudLinux, vous la choisissez dans Select PHP version et cliquez sur Apply ; sans Apply, rien ne change.
- Vérifier immédiatement : ouvrez votre site et parcourez quelques pages, y compris l'administration, un formulaire et (pour une boutique) le paiement. Consultez le journal des erreurs (leçon 5.4) pour repérer de nouvelles lignes
PHP Fatal error. - Extensions et paramètres : chez certains hébergeurs, les extensions PHP et les options (comme
memory_limit) sont liées à une version. Vérifiez après le basculement qu'elles sont correctement configurées pour la nouvelle version.
En cas de problème
- Erreur fatale : restaurez l'ancienne version (c'est possible immédiatement chez la plupart des hébergeurs), pour que votre site refonctionne. Cherchez dans le journal des erreurs quelle extension ou quel thème est en cause (le chemin figure dans le message d'erreur), mettez-le à jour, remplacez-le ou demandez une solution à son auteur. Réessayez ensuite.
- Uniquement des messages deprecated : aucune raison de revenir en arrière. Mais c'est un avertissement : à la version suivante, cela pourrait devenir une erreur. Notez quelle extension est concernée.
- Du code sur mesure qui ne fonctionne plus : un ancien site réalisé par un créateur de site peut contenir du code que plus personne ne maintient. Ce code doit alors être adapté par quelqu'un qui connaît PHP. Certains hébergeurs, dont WebOké, proposent de s'en charger pour vous.
Ne laissez pas un site « pour toujours » sur une ancienne version parce qu'une seule extension n'est pas compatible. C'est repousser un problème qui s'aggrave chaque année.
Plus de certitude en amont
Pour qui veut aller plus loin : avec PHP_CodeSniffer et les règles de PHPCompatibilityWP, vous pouvez faire analyser le code de vos extensions et thèmes pour détecter ce qui ne fonctionne pas avec une version plus récente de PHP, sans exécuter le site. Cela détecte beaucoup de choses, mais pas tout. Tester sur un site de préproduction (staging) reste nécessaire.
En pratique : à quoi cela ressemble dans un panneau
Nous utilisons DirectAdmin avec CloudLinux comme exemple. Dans cPanel, on l'appelle souvent MultiPHP Manager ou Select PHP Version, dans Plesk PHP Settings.
- Ouvrez Select PHP version (sous Extra Programmes).
- Cliquez sur la version dans PHP version, choisissez la nouvelle version et cliquez sur Apply.
- Vérifiez les onglets Extensions et Options pour la nouvelle version.
- Vérifiez votre site et le journal des erreurs. Si quelque chose ne fonctionne pas, choisissez l'ancienne version et cliquez sur Apply.
Résumé
- Chaque version de PHP bénéficie de deux ans de support actif et de deux ans de sécurité uniquement ; ensuite, plus aucune correction. Au 8 novembre 2026, la version 8.1 ne reçoit plus rien et la version 8.2 est maintenue jusqu'à fin 2026.
- Une mise à niveau casse surtout les anciennes extensions et thèmes ; deprecated est un avertissement, une erreur fatale arrête le site.
- Ordre à suivre : tout mettre à jour, vérifier les extensions, sauvegarde, test sur un site de préproduction, basculement, vérification immédiate.
- En cas de problème, restaurez l'ancienne version, identifiez le coupable dans le journal des erreurs et résolvez-le ; ne restez pas bloqué sur une ancienne version.
- Chez de nombreux hébergeurs, la version s'applique à tout le pack ; nettoyez les anciens sites.
Quiz
Exercice
Exercice A8.4 : Votre version de PHP est-elle encore prise en charge ? Consultez Outils > Santé du site (onglet Informations, Serveur) pour connaître la version de PHP utilisée par votre site, et renseignez-la, ainsi que votre domaine. Le programme compare la version avec la liste des versions prises en charge sur php.net : vert pour le support actif, orange pour la sécurité uniquement, rouge si plus aucune mise à jour n'est fournie. Si votre serveur affiche la version dans l'en-tête X-Powered-By, le programme vérifie aussi qu'elle correspond à ce que vous avez indiqué (et vous signale qu'il vaut mieux masquer cet en-tête, leçon 7.4).
Exercice D8.4 : Un plan de mise à niveau. Rédigez un plan pour la mise à niveau de votre site vers la version de PHP la plus récente proposée par votre hébergeur. Renseignez : la version actuelle et la version cible, les extensions et thèmes que vous utilisez et s'ils prennent en charge la version cible (avec l'endroit où vous l'avez lu), où vous testez (site de préproduction, autre pack, en local), comment revenir en arrière, et quand vous le faites. Exécutez-le si vous le pouvez, et notez ce qui est apparu dans le journal des erreurs.
Exercice D8.4: Un plan de mise à niveau
Cet exercice, vous le faites vous-même ; personne ne le vérifie. Cochez ce que vous avez fait et marquez l'exercice comme terminé.
Choisissez une version cible bénéficiant d'un support actif (ou au moins encore des mises à jour de sécurité) et mentionnez pour chaque extension une source (page de l'extension, journal des modifications, Diagnostic du site).
Vos cases cochées et vos notes restent uniquement dans ce navigateur ; nous ne les envoyons nulle part. Si vous êtes connecté, nous enregistrons dans Mes formations uniquement le fait que vous avez terminé l'exercice.
Pour aller plus loin
Ces articles décrivent les étapes dans les panneaux de WebOké ; dans d'autres panneaux, le fonctionnement est comparable.
- Guide DirectAdmin 14.1: Choisir la version de PHP (Select PHP version)
- Guide DirectAdmin 14.6: Erreurs après une mise à niveau de PHP et trouver le journal des erreurs
- Modifier la version PHP et les paramètres PHP (et que faire en cas d'erreurs après une mise à niveau)
- Guide DirectAdmin 14.2: Activer et désactiver des extensions PHP
- Guide WebOké 6.11: Faire effectuer une mise à niveau PHP
- Versions de PHP prises en charge (php.net, en anglais) : https://www.php.net/supported-versions.php
- PHP et versions de WordPress (make.wordpress.org, en anglais) : https://make.wordpress.org/core/handbook/references/php-compatibility-and-wordpress-versions/
