La version PHP de votre hébergement est l’un des paramètres les plus critiques pour WordPress. Trop ancienne, elle expose votre site à des failles de sécurité et limite les performances. Trop récente par rapport à vos plugins, elle peut casser des fonctionnalités entières. Voici comment gérer la transition vers PHP 8 sans risque.
Pourquoi la version PHP est critique pour WordPress
PHP est le langage dans lequel WordPress est écrit. Chaque page WordPress exécute des centaines de lignes de PHP à chaque chargement. La version PHP installée sur votre serveur détermine directement :
- La performance : PHP 8.0 est environ 15% plus rapide que PHP 7.4. PHP 8.2 pousse encore plus loin grâce au compilateur JIT (Just-In-Time).
- La sécurité : PHP 7.4 n’est plus maintenu depuis décembre 2022. Aucun correctif de sécurité n’est publié pour cette version. Rester dessus, c’est accumuler des vulnérabilités non corrigées.
- La compatibilité : les nouvelles versions de WordPress et des plugins majeurs sont développées et testées sur PHP 8.x. Rester sur PHP 7 signifie ne plus pouvoir mettre à jour certains plugins.
WordPress lui-même recommande officiellement PHP 8.1 minimum depuis la version 6.1.
PHP 7 vs PHP 8 : les changements qui cassent les plugins
PHP 8 a introduit plusieurs breaking changes — des modifications qui rendent certains codes PHP 7 invalides ou produisant des erreurs fatales sous PHP 8.
Typage strict et erreurs fatales
PHP 8 est beaucoup plus strict sur les types. Une fonction qui attendait un entier et recevait une chaîne de caractères générait juste un avertissement sous PHP 7. Sous PHP 8, certains cas déclenchent une TypeError fatale qui bloque l’exécution.
Exemple concret : un plugin mal codé qui passait null à une fonction attendant une chaîne peut tourner sans problème sous PHP 7.4 et provoquer une page blanche sous PHP 8.0.
Fonctions dépréciées puis supprimées
PHP 8 a supprimé plusieurs fonctions présentes depuis PHP 4 ou 5 :
each()— supprimée en PHP 8.0, encore utilisée dans des thèmes ancienscreate_function()— supprimée en PHP 8.0strpos()avec un entier comme needle — lève uneTypeErroren PHP 8.0- Extensions
mysql_*(supprimées dès PHP 7, mais certains vieux plugins les utilisaient encore)
Les plugins non maintenus depuis 2019-2020 utilisent fréquemment ces fonctions.
Named arguments et modifications d’ordre
PHP 8 introduit les named arguments, ce qui semble positif, mais cela signifie que les plugins qui redéfinissent des fonctions internes PHP avec un ordre de paramètres différent peuvent se retrouver en conflit.
Comment vérifier votre version PHP actuelle
Depuis cPanel / hébergement mutualisé : rubrique “Sélecteur PHP” ou “Versions PHP” dans votre panneau d’hébergement.
Depuis WordPress : allez dans Outils > Santé du site > Informations > Serveur. Vous verrez la version PHP en cours.
Depuis WP-CLI :
wp --info
Créer un fichier phpinfo (méthode universelle) : créez un fichier info.php à la racine de votre site avec <?php phpinfo(); ?>, accédez-y via navigateur, notez la version, puis supprimez immédiatement ce fichier (il expose des informations sensibles).
Tester la compatibilité avant de changer — indispensable
Ne jamais changer la version PHP en production sans avoir testé. La méthode correcte :
1. Utiliser un environnement de staging
La plupart des hébergeurs (Infomaniak, o2switch, Ionos) proposent un environnement de staging en un clic. Dupliquez votre site, changez la version PHP sur le staging, et testez.
Si votre hébergeur ne propose pas de staging, créez un sous-domaine (test.monsite.fr) et installez-y une copie du site.
2. Utiliser le plugin PHP Compatibility Checker
Le plugin PHP Compatibility Checker (WordPress.org) analyse tous vos plugins et thèmes actifs et signale les incompatibilités avec la version PHP cible. C’est un excellent point de départ — mais il ne détecte pas 100% des problèmes, les tests en staging restent indispensables.
3. Activer le debug WordPress sur le staging
Dans wp-config.php du staging :
define('WP_DEBUG', true);
define('WP_DEBUG_LOG', true);
define('WP_DEBUG_DISPLAY', false);
Naviguez sur toutes les pages importantes et consultez le fichier wp-content/debug.log pour repérer les warnings et erreurs liés à PHP 8.
Les plugins et thèmes qui plantent sous PHP 8
Certaines catégories de plugins sont plus touchées que d’autres :
- Plugins de page builder anciens : les versions de Divi antérieures à 4.10, Elementor avant 3.5, WPBakery avant 6.9 ont des problèmes connus sous PHP 8.
- Plugins WooCommerce tiers : les extensions e-commerce de développeurs indépendants, surtout si non mises à jour depuis 2021.
- Thèmes achetés sur Themeforest : les thèmes premium avec beaucoup de fonctionnalités custom utilisent souvent des fonctions dépréciées.
- Plugins de formulaires anciens : Contact Form 7 est bien compatible, mais les extensions CF7 tierces le sont souvent moins.
Règle générale : si un plugin n’a pas été mis à jour depuis plus de 2 ans sur WordPress.org, il y a un risque sérieux d’incompatibilité PHP 8.
Procédure de mise à niveau PHP sécurisée
- Faire une sauvegarde complète du site (fichiers + base de données) avant toute chose.
- Lancer PHP Compatibility Checker et noter les plugins signalés.
- Mettre à jour tous les plugins et thèmes vers leur dernière version — beaucoup de problèmes PHP 8 ont été corrigés dans les updates récentes.
- Tester sur staging avec la version PHP cible (8.1 ou 8.2 recommandé).
- Corriger ou remplacer les plugins incompatibles (voir section suivante).
- Valider le staging en testant toutes les fonctionnalités critiques : formulaires, WooCommerce, espace membre, etc.
- Changer la version PHP en production via le panneau hébergeur.
- Monitorer pendant 24-48h (logs d’erreur, retours utilisateurs).
Que faire si un plugin est incompatible avec PHP 8 ?
Trois options selon le contexte :
Option 1 : Mettre à jour le plugin. Si une version récente du plugin existe, une simple mise à jour corrige souvent le problème. Vérifiez sur la page WordPress.org du plugin si PHP 8 est mentionné dans le changelog.
Option 2 : Trouver une alternative. Si le plugin n’est plus maintenu, cherchez un équivalent actif. Exemple : si votre plugin de slider n’est plus compatible, Slider Revolution et Smart Slider 3 sont de bonnes alternatives maintenues.
Option 3 : Rester sur PHP 7.4 temporairement. Ce n’est pas une solution à long terme (PHP 7.4 n’est plus supporté), mais ça donne le temps de planifier la migration proprement. Mettez un rappel à 30 jours pour trouver la solution pérenne.
La maintenance préventive, la vraie solution
Les problèmes PHP 8 sont un symptôme d’un site mal maintenu : plugins vieillissants, mises à jour reportées, absence de suivi technique. Notre service de maintenance WordPress inclut la surveillance des versions PHP, les mises à jour régulières et les tests de compatibilité. En cas de problème de sécurité lié à une version PHP obsolète, notre équipe cybersécurité peut auditer votre site et sécuriser l’ensemble de la stack.
Passer à PHP 8 n’est pas optionnel — c’est une obligation de sécurité. La question n’est pas si vous devez le faire, mais comment le faire sans casser votre site.