Mettre à jour la version de PHP : gains de vitesse et risques de casse

Un site sous PHP 7.4 met en moyenne 30 à 40 % plus de temps à répondre qu’un même site propulsé par PHP 8.2 ou 8.3. Pourtant, des milliers de propriétaires de sites repoussent la mise à jour par peur de tout casser. La question revient sans cesse : comment mettre à jour la version de PHP de son site sans provoquer d’erreur 500 au passage ? Ce guide détaille les gains réels, les risques concrets et la méthode pas à pas pour migrer en toute sécurité.

Dans cet article

  • PHP 8.3 offre un gain de performance de 25 à 42 % par rapport à PHP 7.4 selon les benchmarks officiels
  • Les versions PHP inférieures à 8.1 ne reçoivent plus aucun correctif de sécurité depuis fin 2024
  • La vérification de compatibilité prend moins de 10 minutes avec les bons outils
  • Un environnement de staging permet de tester la migration sans risque pour la production
  • Les extensions et thèmes obsolètes causent 90 % des erreurs après une montée de version
  • Le retour arrière est possible en moins de 2 minutes chez la plupart des hébergeurs

Pourquoi mettre à jour PHP : les gains concrets

PHP est le moteur d’exécution de plus de 77 % des sites web dans le monde. Chaque nouvelle version majeure apporte des optimisations internes du compilateur Zend Engine qui se traduisent par des temps de réponse plus courts, sans toucher une seule ligne de votre code applicatif.

Les benchmarks réalisés par la communauté PHP et par le site officiel php.net montrent des résultats sans appel :

  • Temps de réponse : une requête WordPress typique passe de 95 ms sous PHP 7.4 à 58 ms sous PHP 8.3
  • Consommation mémoire : réduction de 10 à 15 % grâce aux optimisations du garbage collector
  • Requêtes par seconde : un serveur identique traite 40 % de requêtes supplémentaires
  • Score PageSpeed : amélioration moyenne de 5 à 12 points sur le Time to First Byte

Au-delà de la vitesse, chaque version corrige des failles de sécurité critiques. Rester sur une version obsolète, c’est laisser la porte ouverte à des attaques connues et documentées. Pour un site e-commerce ou un site vitrine professionnel, le risque est inacceptable.

Enfin, les frameworks et CMS modernes abandonnent progressivement le support des anciennes versions. WordPress 6.7 exige PHP 7.4 minimum et recommande PHP 8.2. Symfony 7 requiert PHP 8.2. Rester en arrière, c’est se couper des mises à jour fonctionnelles et de sécurité de son propre CMS.

Cycle de vie des versions PHP : où en est-on en 2026 ?

PHP suit un cycle de vie prévisible : chaque version reçoit deux ans de support actif (corrections de bugs) puis un an de correctifs de sécurité uniquement. Passé ce délai, plus aucun patch n’est publié, même en cas de faille critique.

Version PHP Fin support actif Fin support sécurité Statut en 2026
PHP 7.4 Novembre 2021 Novembre 2022 Obsolète, dangereux
PHP 8.0 Novembre 2022 Novembre 2023 Obsolète, dangereux
PHP 8.1 Novembre 2023 Décembre 2025 Fin de vie
PHP 8.2 Décembre 2024 Décembre 2026 Correctifs sécurité uniquement
PHP 8.3 Décembre 2025 Décembre 2027 Recommandé
PHP 8.4 Décembre 2026 Décembre 2028 Version la plus récente

Si votre site tourne encore sur PHP 7.4 ou 8.0, vous utilisez un moteur qui n’a reçu aucun correctif depuis plus de deux ans. C’est l’équivalent de rouler avec des pneus lisses sur autoroute : ça fonctionne jusqu’au jour où ça ne fonctionne plus.

Pour connaître votre version actuelle, la méthode la plus simple consiste à créer un fichier info.php contenant <?php phpinfo(); et à l’appeler depuis votre navigateur. Pensez à le supprimer immédiatement après vérification. Sur WordPress, l’information est visible dans Outils > Santé du site > Info > Serveur.

Les risques réels d’une montée de version

Soyons clairs : la mise à jour de PHP peut casser votre site. Ce n’est pas systématique, mais le risque existe et il faut le comprendre avant d’agir.

Les fonctions supprimées

À chaque version majeure, PHP supprime des fonctions dépréciées. Par exemple, mysql_* a disparu en PHP 7.0, each() en PHP 8.0, et utf8_encode() en PHP 8.2. Si votre code ou un plugin utilise ces fonctions, vous obtenez une erreur fatale (page blanche ou erreur 500).

Les changements de comportement

Certains changements sont plus subtils. PHP 8.0 a introduit des vérifications de type plus strictes. Un code qui fonctionnait en passant null là où une chaîne était attendue provoque désormais un TypeError. Ces erreurs n’apparaissent pas toujours sur la page d’accueil : elles peuvent se cacher dans un formulaire de contact, un processus de paiement ou une page rarement visitée.

Les extensions PHP manquantes

Certains hébergeurs ne compilent pas toutes les extensions par défaut sur les nouvelles versions. Si votre site a besoin de mcrypt, ioncube ou d’une extension spécifique, vérifiez sa disponibilité avant de basculer.

Plugins et thèmes incompatibles

C’est la cause numéro un des problèmes. Un plugin WordPress qui n’a pas été mis à jour depuis trois ans a toutes les chances d’utiliser du code incompatible avec PHP 8.x. Mon expérience sur des dizaines de migrations montre que les plugins abandonnés représentent 90 % des erreurs post-migration.

Vérifier la compatibilité avant de migrer

La bonne nouvelle, c’est qu’il existe des outils fiables pour anticiper les problèmes avant de toucher à quoi que ce soit en production.

PHP Compatibility Checker (PHPCompatibility)

C’est l’outil de référence. Basé sur PHP_CodeSniffer, il analyse votre code source et détecte les incompatibilités avec la version cible. En ligne de commande :

composer global require phpcompatibility/php-compatibility
phpcs --standard=PHPCompatibility --runtime-set testVersion 8.3 -p ./wp-content/

Le rapport liste chaque fichier problématique avec le numéro de ligne et la nature de l’incompatibilité.

Plugin WordPress “PHP Compatibility Checker”

Pour ceux qui ne sont pas à l’aise en ligne de commande, le plugin WP Engine PHP Compatibility Checker effectue la même vérification depuis l’interface d’administration. Il scanne thèmes et plugins et génère un rapport avec un code couleur.

Environnement de staging

La vérification la plus fiable reste le test grandeur nature en staging. La plupart des hébergeurs proposent un environnement de préproduction. Dupliquez votre site, changez la version PHP sur la copie et naviguez sur toutes les pages critiques : accueil, articles, formulaires, tunnel de commande, espace membre.

Si vous envisagez de changer d’hébergeur, c’est d’ailleurs le moment idéal pour profiter d’un staging sur le nouveau serveur et tester la nouvelle version PHP en même temps.

Checklist de pré-migration

  • Sauvegarde complète (fichiers + base de données)
  • Liste de tous les plugins/thèmes avec leur date de dernière mise à jour
  • Scan PHPCompatibility sur le répertoire du site
  • Vérification des extensions PHP requises (phpinfo() actuel vs cible)
  • Test en staging avec navigation manuelle sur les pages clés
  • Note de la version PHP actuelle pour retour arrière rapide

Méthode pas à pas selon votre hébergeur

La procédure technique varie selon votre hébergeur. Voici les méthodes pour les plus courants en France.

OVH / OVHcloud

Connectez-vous à l’espace client OVHcloud, section Web Cloud > Hébergements. Cliquez sur votre hébergement, puis sur l’onglet Informations générales. La version PHP apparaît dans le cadre “Configuration”. Cliquez sur Modifier la configuration, sélectionnez la version cible et validez. Le changement est effectif en quelques minutes.

Vous pouvez aussi utiliser un fichier .ovhconfig à la racine pour cibler une version spécifique par répertoire :

app.engine=php
app.engine.version=8.3
http.firewall=none
environment=production

Infomaniak

Dans le Manager Infomaniak, accédez à Hébergement Web > votre site > Gérer > PHP/CGI. Le sélecteur de version est disponible directement. Infomaniak propose les versions PHP avec toutes les extensions courantes préinstallées, ce qui limite les surprises.

Hébergement avec cPanel

Dans cPanel, cherchez MultiPHP Manager ou Select PHP Version. Cochez le domaine concerné, sélectionnez la version cible dans le menu déroulant et appliquez. L’outil permet aussi de gérer les extensions PHP activées pour chaque version.

Serveur VPS ou dédié (ligne de commande)

Sur un VPS ou un serveur dédié, la mise à jour passe par le gestionnaire de paquets. Sous Debian/Ubuntu :

sudo apt update
sudo apt install php8.3 php8.3-fpm php8.3-mysql php8.3-xml php8.3-mbstring php8.3-curl php8.3-zip
sudo a2dismod php8.1
sudo a2enmod php8.3
sudo systemctl restart apache2

Sous Nginx avec PHP-FPM, modifiez le pool dans votre configuration vhost pour pointer vers le nouveau socket php8.3-fpm.sock.

Pour bien choisir un hébergeur qui facilite ces opérations, vérifiez que le panel propose un sélecteur de version PHP intuitif et un staging intégré.

Migrer de PHP 5 ou 7 vers PHP 8 : cas particuliers

Plus l’écart entre votre version actuelle et la version cible est grand, plus le risque de casse augmente. Migrer de PHP 5.6 à PHP 8.3, c’est franchir trois versions majeures d’un coup, chacune ayant supprimé des fonctionnalités.

De PHP 5.6 à PHP 7.x : les gros changements

  • Suppression complète de l’extension mysql_* (remplacée par mysqli_* ou PDO)
  • Opérateur <=> (spaceship) et typage scalaire introduits
  • Constructeurs PHP 4 (function ClassName()) dépréciés
  • Changement du comportement de list() avec les chaînes

De PHP 7.x à PHP 8.x : les pièges fréquents

  • Les union types et les named arguments modifient les signatures de fonctions
  • Les comparaisons lâches (==) entre types différents changent de comportement
  • match() remplace avantageusement switch mais n’est pas rétrocompatible
  • Les fonctions internes lancent des TypeError au lieu de warnings
  • str_contains(), str_starts_with() remplacent les bricolages avec strpos()

Stratégie de migration progressive

Pour un site ancien sous PHP 5.6, je recommande une migration par paliers :

  1. PHP 5.6 → PHP 7.4 : corrigez les erreurs mysql_* et les constructeurs obsolètes
  2. PHP 7.4 → PHP 8.1 : gérez les changements de typage strict et les fonctions supprimées
  3. PHP 8.1 → PHP 8.3 : ajustements mineurs, la transition est généralement fluide

Chaque palier doit être testé indépendamment. Cette approche prend plus de temps mais réduit considérablement le risque de régression non détectée.

Le cas WordPress

WordPress lui-même est compatible PHP 8.3. Le problème vient presque toujours des extensions tierces. Avant la migration, mettez à jour WordPress, tous les plugins et le thème vers leurs dernières versions. Si un plugin n’a pas été mis à jour depuis plus de deux ans, cherchez une alternative maintenue activement. Le répertoire officiel wordpress.org/plugins indique la compatibilité PHP testée pour chaque extension.

Réparer un site cassé après la mise à jour

Malgré toutes les précautions, il arrive que la mise à jour provoque des erreurs. Pas de panique : voici la marche à suivre.

Étape 1 : identifier l’erreur

Activez l’affichage des erreurs PHP. Dans votre fichier wp-config.php (pour WordPress) ou .htaccess, ajoutez temporairement :

define('WP_DEBUG', true);
define('WP_DEBUG_LOG', true);
define('WP_DEBUG_DISPLAY', false);

Le fichier wp-content/debug.log contiendra l’erreur exacte avec le fichier et la ligne responsables.

Étape 2 : retour arrière immédiat si nécessaire

Si le site est en production et inaccessible, revenez immédiatement à la version PHP précédente via le panel de votre hébergeur. Le changement est instantané. Vous pourrez ensuite corriger les problèmes à tête reposée.

Étape 3 : corriger les incompatibilités

Les erreurs les plus fréquentes et leurs solutions :

Erreur Cause Solution
Fatal error: Uncaught Error: Call to undefined function mysql_connect() Extension mysql supprimée depuis PHP 7.0 Remplacer par mysqli ou PDO
TypeError: strlen(): Argument #1 must be of type string, null given PHP 8 refuse null pour les fonctions internes Ajouter une vérification if ($var !== null)
Deprecated: Function utf8_encode() is deprecated Supprimée en PHP 8.2 Utiliser mb_convert_encoding($s, 'UTF-8', 'ISO-8859-1')
Fatal error: Cannot use “self” as type hint Conflit de nommage ou autoloader cassé Mettre à jour le plugin/thème concerné
Parse error: syntax error, unexpected token “?” Opérateur nullsafe (?->) utilisé dans un code lu par une ancienne version Vérifier que le .ovhconfig pointe bien vers la bonne version

Étape 4 : désactiver le plugin fautif

Si l’erreur pointe vers un fichier dans wp-content/plugins/, renommez le dossier du plugin via FTP (par exemple plugin-name devient plugin-name_disabled). Le site redeviendra accessible et vous pourrez chercher une alternative ou attendre une mise à jour du plugin.

Un CDN correctement configuré peut d’ailleurs masquer temporairement les erreurs en servant les pages en cache pendant que vous corrigez le problème côté serveur.

Maintenir PHP à jour sur le long terme

La mise à jour de PHP n’est pas un événement ponctuel : c’est une pratique régulière à intégrer dans la maintenance de votre site.

Planifier un calendrier de mises à jour

Calquez-vous sur le cycle officiel de PHP. Chaque année en novembre, une nouvelle version mineure sort. Prévoyez de tester la compatibilité dans les trois mois suivant la sortie et de migrer dans les six mois. Cela vous laisse le temps de vérifier que vos plugins et frameworks supportent la nouvelle version.

Automatiser la surveillance

Configurez un monitoring qui vérifie régulièrement le bon fonctionnement de votre site. Un simple script cron qui teste le code HTTP de retour de vos pages principales vous alertera immédiatement si un problème survient après une mise à jour côté hébergeur (certains hébergeurs montent automatiquement la version PHP).

Garder ses dépendances à jour

Un site dont les plugins sont régulièrement mis à jour sera naturellement compatible avec les nouvelles versions PHP. Inversement, laisser s’accumuler le retard crée un effet boule de neige qui rend chaque migration plus risquée.

Si vous souhaitez apprendre à coder pour gérer vous-même ces aspects techniques, commencez par les bases de PHP et la gestion en ligne de commande : cela vous donnera l’autonomie nécessaire pour diagnostiquer la plupart des problèmes post-migration.

Le rôle de l’hébergeur

Un bon hébergeur propose plusieurs versions PHP en parallèle, un sélecteur de version accessible sans ticket support, et idéalement un environnement de staging intégré. Si votre hébergeur actuel ne propose que PHP 7.4 ou rend le changement de version compliqué, c’est un signal fort qu’il est temps de migrer vers un hébergeur plus moderne.

Pour les sites à fort trafic, l’impact combiné d’une version PHP récente et d’un serveur correctement dimensionné fait souvent la différence entre un site rapide et une expérience utilisateur dégradée.

À retenir

  • Vérifiez votre version PHP actuelle dans Santé du site ou via phpinfo()
  • Lancez un scan PHPCompatibility avant toute migration pour identifier les incompatibilités
  • Testez toujours en environnement de staging avant de toucher à la production
  • Notez votre version actuelle pour pouvoir effectuer un retour arrière en 2 minutes
  • Mettez à jour plugins et thèmes avant de changer la version PHP

Questions fréquentes


Comment mettre à jour le PHP d’un site web ?

Connectez-vous au panel de votre hébergeur (cPanel, Plesk, OVHcloud Manager ou Infomaniak). Cherchez la section “Version PHP” ou “Configuration PHP”. Sélectionnez la version cible (PHP 8.3 recommandé en 2026) et validez. Le changement prend effet en quelques minutes. Sur un serveur VPS, utilisez apt ou yum pour installer la nouvelle version puis mettez à jour la configuration de votre serveur web.


Comment migrer de PHP 5 à PHP 8 sans tout casser ?

Procédez par paliers : passez d’abord à PHP 7.4 pour corriger les incompatibilités majeures (suppression de mysql_*, constructeurs obsolètes), puis montez vers PHP 8.1 et enfin PHP 8.3. Testez chaque palier en staging. Cette méthode progressive permet d’isoler les erreurs et de les corriger une par une au lieu de faire face à des dizaines de problèmes simultanés.


PHP 8.0 est-il encore maintenu par la communauté PHP ?

Non. PHP 8.0 a atteint sa fin de vie en novembre 2023. Il ne reçoit plus aucun correctif, ni de bug ni de sécurité. Les sites encore sous PHP 8.0 sont exposés à des vulnérabilités connues non corrigées. La version minimale recommandée en 2026 est PHP 8.2, idéalement PHP 8.3 pour bénéficier du support actif complet.


Quels sont les gains de performance entre PHP 7.4 et PHP 8.3 ?

Les benchmarks montrent un gain de 25 à 42 % sur le temps de réponse selon le type d’application. Pour WordPress, le nombre de requêtes traitées par seconde augmente d’environ 40 %. La consommation mémoire diminue de 10 à 15 %. Ces gains proviennent des optimisations du compilateur JIT et du moteur Zend, sans aucune modification de votre code.


Que faire si mon site affiche une page blanche après la mise à jour PHP ?

Revenez immédiatement à la version PHP précédente via le panel de votre hébergeur pour rétablir l’accès. Activez ensuite WP_DEBUG_LOG dans wp-config.php et consultez le fichier debug.log pour identifier l’erreur exacte. Dans 90 % des cas, un plugin ou un thème obsolète est responsable. Désactivez-le en renommant son dossier via FTP, puis cherchez une alternative compatible.


La mise à jour PHP peut-elle affecter mon référencement ?

Indirectement, oui. Un site plus rapide améliore les Core Web Vitals et le Time to First Byte, deux facteurs pris en compte par Google. À l’inverse, si la mise à jour provoque des erreurs 500, les pages désindexées temporairement peuvent perdre leur positionnement. C’est pourquoi le test en staging et la capacité de retour arrière rapide sont essentiels pour protéger votre SEO.


Damien Roux
Damien Roux

Ingénieur système et expert hébergement web. Fondateur de web-city.fr, il partage guides pratiques, comparatifs objectifs et outils gratuits pour choisir le bon hébergeur et créer son site WordPress.

Scroll to Top