Module 8 · 8.4
Versions de PHP et mises à niveau
Regardez la vidéo courte
Module 8: Sauvegardes, site de préproduction (staging) et mises à jour PHP · Temps de lecture : 10 minutes
Objectif : après cette leçon, vous savez préparer et effectuer une mise à niveau de PHP en toute sécurité, et l'annuler si nécessaire.
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 d'erreurs, site de préproduction (staging), restaurer, confier la mise à niveau
Pourquoi les versions de PHP comptent
WordPress, votre thème et vos extensions sont écrits en PHP (leçon 1.2). Une nouvelle version de PHP sort chaque année (8.3, 8.4, 8.5, ...). Chaque version est maintenue pendant une durée fixe :
- support actif : deux ans avec des corrections de bugs et de sécurité ;
- sécurité uniquement : ensuite, deux ans avec uniquement des correctifs de sécurité ;
- fin de vie (end of life) : plus aucun correctif, même pour les failles.
La situation au 8 novembre 2026, selon php.net :
| Version | Mises à jour de sécurité jusqu'au | Statut |
|---|---|---|
| 8.1 et antérieures | (dépassé) | Plus de mises à jour |
| 8.2 | 31 décembre 2026 | Sécurité uniquement, fin de vie 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 sur une version sans mises à jour tourne sur un logiciel aux failles connues qui ne seront plus corrigées. De plus, les versions 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 suivre le rythme chaque année, et non de faire un grand saut tous les cinq ans.
Pourquoi une mise à niveau peut casser quelque chose
Chaque nouvelle version de PHP change quelque chose. 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 notamment supprimé
create_function()eteach(), et beaucoup d'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 prochaine version" | Rien de visible ; un avertissement pour l'avenir |
| Warning ou Notice | Quelque chose n'est pas tout à fait correct | Le plus souvent 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 trouve dans les anciennes extensions et anciens thèmes, surtout s'ils n'ont pas été mis à jour depuis longtemps ou s'il s'agit de développements sur mesure.
Trouver votre version actuelle
- Dans WordPress : Outils > Santé du site, onglet Infos, sous Serveur : la version de PHP. Santé du site vous avertit aussi 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 la révèle dans l'en-tête
X-Powered-By: PHP/8.3.x. Mieux vaut l'éviter (leçon 7.4), mais s'il est présent, l'information se voit vite.
Attention : chez de nombreux hébergeurs, la version de PHP s'applique à tout votre forfait, donc à tous les sites qu'il contient. Un ancien site dans le même forfait peut vous bloquer. C'est une raison de plus pour faire le ménage dans les anciens sites ou leur attribuer un forfait séparé.
La mise à niveau : étape par étape
- D'abord tout mettre à jour. Mettez à jour WordPress, votre thème et toutes vos extensions sur la version actuelle de PHP. 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 qu'indiquent vos extensions. La page de l'extension sur wordpress.org indique la version de PHP requise ; le journal des modifications (changelog) mentionne souvent "compatible with PHP 8.x". Une extension qui n'a pas été mise à jour depuis des années (leçon 5.3) est 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 permet une version de PHP différente par site, passez le site de préproduction sur la nouvelle version. Si ce n'est pas possible (une seule version par forfait), testez sur un site de préproduction dans un autre forfait, en local, ou choisissez un moment calme en production, avec l'ancienne version prête à être rétablie.
- Basculer : choisissez la nouvelle version dans votre panneau. Sous DirectAdmin avec CloudLinux, vous la sélectionnez dans Select PHP version puis 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 d'erreurs (leçon 5.4) à la recherche de nouvelles lignes
PHP Fatal error. - Extensions PHP et réglages : chez certains hébergeurs, les extensions PHP et les options (comme
memory_limit) sont liées à une version. Après le changement, vérifiez qu'elles sont correctement configurées pour la nouvelle version.
En cas de problème
- Erreur fatale : rétablissez l'ancienne version (chez la plupart des hébergeurs, c'est immédiat) pour que votre site fonctionne à nouveau. Cherchez dans le journal d'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 développeur. Réessayez ensuite.
- Uniquement des messages deprecated : aucune raison de revenir en arrière. Mais c'est un avertissement : à la version suivante, cela peut devenir une erreur. Notez de quelle extension il s'agit.
- Du sur-mesure qui ne fonctionne plus : un ancien site réalisé par un créateur de site web 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 ne suit pas. Ce n'est que repousser un problème qui grossit chaque année.
Plus de certitude en amont
Pour 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 repérer ce qui ne fonctionnera pas dans 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 reste nécessaire.
En pratique : à quoi cela ressemble dans un panneau
Nous prenons pour exemple DirectAdmin avec CloudLinux. Dans cPanel, l'outil s'appelle souvent MultiPHP Manager ou Select PHP Version, dans Plesk PHP Settings.
- Ouvrez Select PHP version (sous Fonctionnalités supplémentaires).
- Cliquez sur la version à côté de 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 d'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 aucun correctif. Au 8 novembre 2026, la 8.1 ne reçoit plus rien et la 8.2 encore jusqu'à fin 2026.
- Une mise à niveau casse surtout les anciennes extensions et anciens thèmes ; deprecated est un avertissement, une fatal error arrête le site.
- Ordre : tout mettre à jour, vérifier les extensions, sauvegarde, test sur un site de préproduction, bascule, vérification immédiate.
- En cas de problème, rétablissez l'ancienne version, trouvez le coupable dans le journal d'erreurs et corrigez-le ; ne restez pas bloqué sur une ancienne version.
- Chez de nombreux hébergeurs, la version s'applique à tout le forfait ; faites le ménage dans les anciens sites.
Quiz
Exercice
Exercice A8.4 : Votre version de PHP est-elle encore prise en charge ? Regardez dans Outils > Santé du site, onglet Infos, Serveur, quelle version de PHP votre site utilise et saisissez-la, avec votre domaine. Le programme compare la version à la liste des versions prises en charge sur php.net : vert pour le support actif, orange pour la sécurité uniquement, rouge s'il n'y a plus de mises à jour. 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 saisi (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 mettre à niveau votre site vers la version de PHP la plus récente proposée par votre hébergeur. Indiquez : 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 forfait, en local), comment revenir en arrière, et quand vous le faites. Effectuez la mise à niveau si vous le pouvez, et notez ce qui est apparu dans le journal d'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 similaire.
- 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 de 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
- Versions de PHP et de WordPress (make.wordpress.org, en anglais) : https://make.wordpress.org/core/handbook/references/php-compatibility-and-wordpress-versions/
