Mise à niveau de PHP sur un site autonome : compatibilité, extensions et performances

Passer à une version récente de PHP est l'un des meilleurs rapports qualité-prix pour booster les performances d'un site autonome : de PHP 7.4 à 8.2, le même code s'exécute environ 2 fois plus vite, sans toucher à la logique métier. Mais avant de migrer, trois...

PHP升级:先查兼容,再升版本PHP upgrade: check compatibility first, then bump version PHP 8.2比7.4快约2倍,但插件不兼容直接白屏PHP 8.2 ~2x faster than 7.4, but incompatible plugins = white screen ① 备份① Backup 全站+数据库Full site+DB ② 兼容检查② Compat check 插件+主题Plugins+theme ③ staging测③ Staging test 全功能走一遍Test all flows ④ 生产升④ Prod upgrade 低峰期+回滚方案Off-peak+rollback 推荐版本:PHP 8.1或8.2(安全支持到2025至2026年)Recommended: PHP 8.1 or 8.2 (security support to 2025-2026) 不要用7.4以下——已停止安全更新,2022年起无补丁Avoid <7.4 — security updates ended, no patches since 2022 必装扩展:OPcache(性能翻倍)+ mysqli + intl + gdMust-install: OPcache (2x perf) + mysqli + intl + gd OPcache开启后PHP执行时间降50%以上,内存建议256MB以上OPcache cuts PHP time 50%+; set memory to 256MB+ 反直觉:PHP版本越新越快,但不是每个插件都跟得上Counter-intuitive: newer is faster, but not all plugins keep up 一个不兼容的老插件就能让整个站白屏,升级前必须逐个测One incompatible legacy plugin = white screen; test every plugin 升级顺序:先升级所有插件到最新版,再升PHP版本Order: update all plugins first, then bump PHP version 不要跳级升级:7.4→8.0→8.1→8.2逐版升,每版测一遍Stepwise: 7.4→8.0→8.1→8.2, test each step
Migrer PHP en quatre étapes : sauvegarde, contrôle de compatibilité, test en staging, mise en production

Mise à niveau de PHP sur un site autonome : compatibilité, extensions et performances

Conclusion d’abord : Passer à une version récente de PHP est l’un des meilleurs rapports qualité-prix pour booster les performances d’un site autonome : de PHP 7.4 à 8.2, le même code s’exécute environ 2 fois plus vite, sans toucher à la logique métier. Mais avant de migrer, trois choses sont obligatoires : sauvegarder tout le site et la base de données, vérifier la compatibilité de chaque extension et de chaque thème, puis tester toutes les fonctionnalités en environnement de staging. Choisissez PHP 8.1 ou 8.2, évitez les versions antérieures à 7.4 (elles ne reçoivent plus de correctifs de sécurité). L’extension indispensable est OPcache : une fois activée, le temps d’exécution de PHP chute de plus de 50 %. Un constat contre-intuitif : une seule vieille extension incompatible suffit à faire tomber tout le site en écran blanc. Testez donc chaque extension une par une avant de migrer, sans vous fier au simple avertissement de compatibilité de l’administration WordPress.

1. Pourquoi la version de PHP influe sur les performances d’un site autonome

WordPress est écrit en PHP : chaque requête de page fait d’abord tourner l’interpréteur PHP, qui traduit le code en instructions exécutables par la machine. Plus la version de PHP est récente, plus cette traduction est rapide. PHP 8.x embarque de nombreuses optimisations de bas niveau par rapport à 7.4, notamment un OPcache amélioré, la compilation JIT et une meilleure gestion de la mémoire : le même code tourne environ 2 fois plus vite sur 8.2 que sur 7.4.

Ce gain de performance se ressent directement sur un site autonome. Un site dont le LCP est de 3,5 s sous PHP 7.4 passe à environ 2 s après la mise à niveau vers 8.2 avec OPcache activé, et ses Core Web Vitals virent du rouge au vert. Sans changer de thème, sans changer d’extension, sans ajouter de cache : il suffit de changer de version de PHP. C’est pourquoi les équipes d’exploitation recommandent de mettre à niveau PHP au moins une fois tous les deux ans.

Version de PHP Date de sortie Fin du support de sécurité Performances par rapport à 7.4 Recommandation pour un site autonome
PHP 5.6 et antérieures Avant 2014 Arrêté depuis longtemps En dessous de la référence À proscrire absolument
PHP 7.0 à 7.3 2015 à 2018 Arrêté Environ 0,8 fois À mettre à niveau au plus vite
PHP 7.4 2019 Arrêté en 2022 Référence 1,0 Version de transition, à mettre à niveau au plus vite
PHP 8.0 2020 Arrêté en 2023 Environ 1,5 fois Utilisable, mais pas recommandé sur la durée
PHP 8.1 2021 Fin 2025 Environ 1,8 fois Recommandé, stable
PHP 8.2 2022 Fin 2026 Environ 2,0 fois Recommandé, dernière version stable

Beaucoup de sites autonomes tournent encore sous PHP 7.4, voire 7.3, parce que « ça marche très bien, on n’ose pas y toucher ». Or 7.4 ne reçoit plus de correctif de sécurité depuis novembre 2022 : même si une nouvelle faille est découverte, personne ne la corrige. Pour un site tourné vers l’international, fonctionner sur une version de PHP sans mises à jour de sécurité fait grimper le risque de piratage avec le temps. Voir la procédure de nettoyage après un piratage dans Que faire après un piratage de son site, et le renforcement de la sécurité et les sauvegardes dans Sauvegarde et restauration : s’entraîner à réagir.

2. Vérifications de compatibilité : les trois choses à faire avant de mettre à jour

Le plus grand risque d’une mise à jour de PHP n’est pas la performance, c’est la compatibilité. PHP 8.x a introduit des changements de syntaxe cassants — par exemple, certaines anciennes fonctions ont été dépréciées, la rigueur des types a changé, et certains comportements historiques ont évolué. Si votre thème ou vos extensions utilisent ces écritures obsolètes, votre site affichera un écran blanc après la mise à jour, et vous ne pourrez même plus accéder à l’administration.

Trois choses à faire avant la mise à jour : premièrement, mettez à jour toutes vos extensions et tous vos thèmes vers la dernière version — les anciennes versions sont souvent incompatibles avec les nouvelles versions de PHP, tandis que les nouvelles ont généralement déjà corrigé le problème ; deuxièmement, utilisez une extension comme PHP Compatibility Checker pour scanner tout le code de votre site et repérer les fichiers qui utilisent des écritures incompatibles ; troisièmement, basculez la version de PHP dans un environnement de staging et testez toutes les fonctionnalités principales.

Point de contrôle Méthode de vérification Critère de validation En cas d’échec
Compatibilité des extensions Scan avec PHP Compatibility Checker Aucune erreur fatale dans les extensions Trouver une extension alternative ou contacter l’auteur
Compatibilité du thème Idem, scanner le répertoire du thème Aucun appel à une fonction dépréciée dans le thème Changer de thème ou attendre une mise à jour de l’auteur
Version du cœur de WordPress Vérifier la version de WP dans l’administration WP 6.0 ou supérieur est requis pour PHP 8.2 Mettre à jour le cœur de WP d’abord
Extensions de base de données Vérifier la présence de mysqli avec phpinfo mysqli est activé Installer l’extension mysqli
Code personnalisé Scanner le thème enfant et les extensions personnalisées Aucune fonction dépréciée Modifier le code manuellement

Exemple concret : un site B2B utilise une ancienne extension de formulaire datant de 2019, qui génère des erreurs sous PHP 8.1. Avant la mise à jour, un scan avec Compatibility Checker révèle que cette extension utilise la série de fonctions mysql_* (dépréciée depuis PHP 7.0). Dans ce cas, ne forcez pas la mise à jour de PHP : trouvez d’abord une extension de formulaire alternative (comme WPForms ou Fluent Forms), migrez vos formulaires, puis mettez à jour PHP. Pour découvrir comment crater gère la compatibilité des extensions sur les sites d’exportation, consultez La stack technique de crater et ses quatre extensions maison.

Jugement contre-intuitif : les alertes de compatibilité PHP affichées dans « Santé du site » de l’administration WordPress sont souvent inexactes. Elles ne vérifient que la version actuellement installée de l’extension ; si vous avez la dernière version d’une extension mais que son auteur n’a pas mis à jour les tests de compatibilité, l’administration continuera d’afficher qu’elle est compatible. La bonne méthode est de lancer vous-même un scan avec un outil, puis de tester réellement dans un environnement de staging, sans vous fier uniquement aux indications de l’administration.

3. Choix de la version PHP : 8.1 ou 8.2

La version vers laquelle migrer dépend de deux facteurs : la durée du support de sécurité et la compatibilité de votre écosystème d’extensions. PHP 8.1 bénéficie du support de sécurité jusqu’à fin 2025, PHP 8.2 jusqu’à fin 2026. Pour la plupart des sites indépendants, 8.2 est le choix le plus sûr — meilleures performances et support de sécurité le plus long. Mais si une extension essentielle indique explicitement ne supporter que 8.1, migrez d’abord vers 8.1, puis passez à 8.2 une fois l’extension mise à jour.

Ne sautez pas d’étape. Passer directement de 7.4 à 8.2, c’est enjamber deux versions majeures : les fonctions obsolètes et les changements de syntaxe s’accumulent, et le risque de casse augmente fortement par rapport à une montée progressive. Le bon chemin est 7.4 → 8.0 → 8.1 → 8.2 : à chaque version, on teste en staging, et on passe à la suivante seulement si tout est bon.

Situation Version recommandée Raison Points d’attention
Site tout juste créé PHP 8.2 Dernière version stable, meilleures performances Vérifiez que toutes les extensions prennent en charge 8.2
Site existant sous 7.4 D’abord 8.1, puis 8.2 Montez version par version pour réduire les risques Testez chaque version en staging
Écosystème d’extensions ancien PHP 8.0 ou 8.1 Meilleure compatibilité Attendez la mise à jour des extensions
Site e-commerce PHP 8.1 Écosystème le plus mature Certaines extensions de paiement ne sont pas compatibles avec 8.2
Site de blog uniquement PHP 8.2 Peu d’extensions, bonne compatibilité Passez directement à 8.2

Exemple concret : un site de contenu n’utilise que 5 extensions (Yoast, WP Rocket, WPForms, UpdraftPlus, Wordfence), et ces extensions courantes prennent toutes en charge PHP 8.2. Dans ce cas, montez directement en 8.2 sur le staging, testez, et si tout va bien, déployez en production. Mais pour un site qui utilise WooCommerce et une dizaine d’extensions e-commerce, mieux vaut rester d’abord en 8.1, car à la sortie de 8.2, beaucoup d’extensions de paiement et de logistique n’étaient pas encore adaptées.

4. Installer les extensions : OPcache et les extensions essentielles

Si vous montez la version de PHP sans installer OPcache, vous ne récupérez que la moitié des gains de performance. OPcache stocke en mémoire le bytecode compilé par PHP : au prochain appel, le même code est lu directement en mémoire, sans recompilation. Avec OPcache activé, le temps d’exécution de PHP peut chuter de plus de 50 %, soit un gain supérieur à celui d’une montée de 7.4 à 8.0.

Outre OPcache, un site indépendant a besoin de quelques extensions de base : mysqli (connexion à la base de données, indispensable à WordPress), gd ou imagick (traitement des images, nécessaire à la médiathèque), intl (multilingue et localisation), mbstring (gestion des chaînes multi-octets, nécessaire aux sites en chinois). La plupart des hébergeurs les installent par défaut, mais sur un hébergement mutualisé, il faut parfois les activer manuellement.

Extension Rôle Obligatoire ? Configuration conseillée
OPcache Cache de bytecode PHP Indispensable, performances doublées memory=256MB, revalidate_freq=60
mysqli Connexion à la base MySQL Indispensable, dépendance du cœur de WP Valeur par défaut
gd / imagick Traitement des images Indispensable à la médiathèque imagick est plus rapide que gd
intl Localisation et multilingue Obligatoire pour un site multilingue Valeur par défaut
mbstring Chaînes multi-octets Indispensable aux sites en chinois Valeur par défaut
curl Requêtes HTTP externes Indispensable, dépendance de la REST API Valeur par défaut
xml Analyse XML Indispensable, RSS et sitemap Valeur par défaut

Les points clés de la configuration d’OPcache : réglez opcache.memory_consumption sur 256 (MB) et opcache.revalidate_freq sur 60 (secondes), ce qui signifie que le code est revérifié 60 secondes après une modification. En environnement de développement, mettez revalidate_freq à 0 pour recompiler à chaque requête ; en production, mettez 60 secondes pour équilibrer performance et fraîcheur des mises à jour. Pour la limite de mémoire PHP (memory_limit), prévoyez au moins 256M, et 512M sur les sites qui installent beaucoup d’extensions.

OPcache et le cache de page sont deux couches distinctes, ne les confondez pas. Le cache de page stocke le HTML dans des fichiers, OPcache garde le bytecode PHP en mémoire : c’est en combinant les deux que vous descendez le LCP au minimum. Pour configurer le cache par couches, voir Stratégie de cache à trois niveaux pour un site indépendant, et pour les seuils de performance à atteindre, voir Optimiser les Core Web Vitals.

5. Étapes de mise à niveau et plan de retour arrière

Pour mettre à niveau PHP en production, choisissez impérativement une plage de faible trafic (entre 2 h et 4 h du matin, heure de Pékin) et préparez le retour arrière à l’avance. Si un problème survient pendant la mise à niveau, vous devez pouvoir revenir à l’ancienne version en 5 minutes. Ne mettez jamais à niveau en pleine journée : en cas de problème, les visiteurs n’accèdent plus au site et les demandes de devis sont perdues.

Étape Actions Durée Méthode de retour arrière
1. Sauvegarder tout le site Sauvegarde complète des fichiers et de la base de données 10 à 30 minutes Conserver les fichiers de sauvegarde au moins 7 jours
2. Choisir une plage de faible trafic Entre 2 h et 4 h du matin, heure de Pékin — À déterminer en consultant les logs de visite
3. Basculer la version de PHP Bascule via le panneau de l’hébergeur ou en SSH 1 à 5 minutes Retour à l’ancienne version en un clic
4. Tester les parcours essentiels Page d’accueil, pages produit, envoi de formulaire 10 minutes En cas de page blanche, revenir à l’ancienne version
5. Observer pendant 30 minutes Consulter les logs d’erreur et le trafic 30 minutes En cas d’erreur, revenir en arrière immédiatement
6. Vider OPcache Redémarrer PHP-FPM ou le serveur web 1 minute —

Exemple concret : vous passez PHP de 7.4 à 8.1 dans le panneau BaoTa ou cPanel, vous rechargez la page d’accueil et vous tombez sur une page blanche. Pas de panique : la première chose à faire est de revenir à 7.4 — sur la plupart des panneaux d’hébergeur, changer la version de PHP se fait en un clic, soit 10 secondes pour revenir. Ensuite, consultez les logs d’erreur pour identifier l’extension qui plante, corrigez-la, puis réessayez. Ne restez pas à tester en boucle sur une page blanche : vos visiteurs verraient une page d’erreur tout ce temps.

Après la mise à niveau, observez pendant une semaine. Surveillez deux indicateurs : la présence de PHP Fatal Error dans les logs d’erreur et l’évolution du score Lighthouse. Si les logs d’erreur sont propres et que le LCP passe de 3,5 secondes à moins de 2 secondes, la mise à niveau est réussie. Si de nouveaux avertissements PHP apparaissent, vérifiez d’abord s’il s’agit d’un message deprecated d’une extension : ce type d’avertissement n’affecte pas le fonctionnement, mais notez-le pour le traiter lors de la prochaine mise à jour de l’extension. Dans la maintenance courante, la vérification de la version de PHP est un point fixe, voir Les six tâches mensuelles de la maintenance d’un site. Pour la supervision et les alertes, voir Surveillance et alertes du site.

FAQ — Questions fréquentes

Quelle version de PHP choisir pour un site WordPress indépendant ?
PHP 8.1 ou 8.2 est recommandé. PHP 7.4 ne reçoit plus de correctifs de sécurité depuis novembre 2022 : l’utiliser, c’est rouler sans ceinture. La version 8.1 est maintenue en sécurité jusqu’à fin 2025, la 8.2 jusqu’à fin 2026, et les performances sont environ 2 fois supérieures à celles de 7.4. Si votre écosystème d’extensions est ancien et la compatibilité incertaine, restez d’abord sur 8.1 ; si toutes vos extensions sont courantes et compatibles 8.2, passez directement à 8.2. N’utilisez aucune version inférieure à 7.0.
Que faire si le site affiche une page blanche après la mise à niveau de PHP ?
Pas de panique : revenez d’abord à l’ancienne version de PHP. Sur la plupart des panneaux d’hébergement, changer de version prend un clic, soit 10 secondes pour revenir en arrière. Consultez ensuite le journal d’erreurs pour identifier le fichier et la ligne concernés. La cause la plus fréquente : une extension ancienne qui utilise des fonctions abandonnées en PHP 8.x. La solution est de trouver une extension de remplacement ou de contacter l’auteur pour une mise à jour, puis de relancer la montée de version une fois la compatibilité réglée. N’enchaînez pas les tentatives tant que l’écran reste blanc.
Qu’est-ce qu’OPcache, et faut-il l’activer ?
OPcache stocke en mémoire le bytecode compilé par PHP : au prochain appel du même code, il est lu directement depuis la mémoire, sans recompilation. Une fois activé, le temps d’exécution de PHP chute de plus de 50 %, un gain supérieur à celui d’une migration de 7.4 vers 8.0. En production, l’activation est indispensable. Réglages conseillés : memory=256MB, revalidate_freq=60 secondes. En développement, mettez revalidate_freq=0 pour que chaque modification du code soit prise en compte immédiatement.
Peut-on sauter des versions de PHP lors de la mise à jour ?
Non, ne sautez pas de version. Passer directement de 7.4 à 8.2 fait franchir deux versions majeures d’un coup : les fonctions abandonnées et les changements de syntaxe s’accumulent, et le risque de problème est bien plus élevé qu’en montant version par version. Le bon parcours est 7.4 → 8.0 → 8.1 → 8.2. À chaque étape, testez sur un environnement de staging et ne passez à la suivante qu’une fois les fonctions essentielles validées. Testez en staging avant de déployer en production, ne sautez jamais de version directement en production.
Faut-il sauvegarder avant de mettre à jour PHP ?
Obligatoire. Sauvegardez tous les fichiers du site et la base de données, et conservez la sauvegarde au moins 7 jours. Le changement de version de PHP est réversible depuis le panneau d’hébergement (il suffit de revenir en arrière), mais si une extension a modifié la structure de la base de données ou écrit des fichiers sous la nouvelle version, le retour peut laisser des résidus. Une sauvegarde complète est la dernière protection. Pour la sauvegarde et les tests de restauration, voir l’article sur les tests de sauvegarde et de restauration du site.
Est-il normal que le LCP ne change pas après une mise à jour de PHP ?
Oui, c’est normal. Si votre site dispose déjà d’un cache de pages, le LCP dépend surtout des hits sur le cache HTML, et la version de PHP n’a aucun effet sur les requêtes servies depuis le cache. Le gain d’une mise à jour de PHP se voit surtout sur les cache miss, par exemple juste après la publication d’un article ou sur une page non mise en cache. Pour vérifier l’effet de la mise à jour, désactivez le cache de pages en staging et faites un test : vous verrez le temps d’exécution de PHP passer de plusieurs centaines de millisecondes à moins de 100 millisecondes.

Pour conclure

Dans la mise à jour de PHP, le plus grand obstacle n’est pas technique, il est psychologique : la peur de toucher à quelque chose. Beaucoup d’équipes font tourner leur site sur 7.4 depuis trois ans, en se disant que tout va bien, jusqu’au jour où une mise à jour d’extension provoque un écran blanc, ou où le site se fait pirater, et où l’on pense enfin à migrer. En réalité, la mise à jour de PHP est l’optimisation de performance qui demande le moins d’efforts pour le plus grand gain : aucun code métier à modifier, il suffit de changer de version d’un clic dans le panneau d’hébergement, puis de consacrer une heure à tester les fonctions essentielles.

Trois étapes pour migrer : d’abord, sauvegardez tout le site et la base de données, puis passez les extensions et le thème au crible avec Compatibility Checker ; ensuite, mettez à niveau version par version en staging (7.4 → 8.0 → 8.1 → 8.2) en testant les parcours clés à chaque fois ; enfin, déployez en production aux heures creuses, surveillez pendant 30 minutes et revenez en arrière immédiatement en cas de problème. Une fois ces trois étapes terminées, votre site sera deux fois plus rapide et vos correctifs de sécurité seront à jour.

Une phrase à retenir : passer à une version récente de PHP est l’optimisation la plus rentable pour un site e-commerce — de 7.4 à 8.2, le site va deux fois plus vite, à condition d’avoir d’abord tout testé : une seule extension obsolète suffit à afficher un écran blanc.

Cratère
Cratère Expert Cratère

Officiel de l'organisme · Cratère Crater

Cratère (Crater) est une société de services d'expansion internationale spécialisée dans le développement de sites WordPress autonomes, le référencement Google et la croissance globale GEO, au service des secteurs du matériel intelligent, de l'équipement industriel, du SaaS et des énergies nouvelles.

Capacités produitLivre blanc méthodologiqueRapports sectoriels
965partages
78articles de base de connaissances