PHP (PHP: Hypertext Preprocessor) est un langage de programmation côté serveur qui propulse plus de 75 % de tous les sites web, y compris WordPress. Chaque page, extension et thème WordPress est construit avec PHP. Lorsqu'un visiteur ouvre votre site, c'est PHP qui s'exécute sur le serveur web, récupère le contenu depuis la base de données, traite les modèles de votre thème, exécute la logique des extensions et assemble le HTML final envoyé au navigateur. Sans PHP, WordPress ne fonctionne tout simplement pas.
Comment fonctionne une requête de page WordPress
Comprendre ce qui se passe en coulisses lorsque quelqu'un visite votre site WordPress aide à expliquer pourquoi PHP est si important. Voici le cycle complet de la requête :
- Un visiteur saisit votre URL dans son navigateur ou clique sur un lien. Le navigateur envoie une requête HTTP à votre serveur web.
- Le serveur web (Apache ou Nginx) reçoit la requête et la transmet à PHP pour traitement.
- PHP charge les fichiers du noyau WordPress, lit votre
wp-config.phppour les identifiants de base de données et les paramètres, puis initialise l'environnement WordPress. - WordPress détermine quelle page le visiteur souhaite (un article de blog, une archive de catégorie, la page d'accueil) et exécute les requêtes de base de données appropriées via MySQL ou MariaDB.
- La base de données renvoie le contenu demandé (texte de l'article, métadonnées, options, paramètres des widgets).
- PHP traite les fichiers de modèle du thème actif, applique les filtres et actions des extensions actives, et construit la page HTML complète.
- Le HTML finalisé est renvoyé via le serveur web au navigateur du visiteur, qui affiche la page.
Tout ce cycle se produit à chaque affichage de page, sauf si vous avez mis en place un cache. C'est pourquoi la performance de PHP affecte directement la vitesse perçue de votre site.
Pourquoi votre version de PHP est importante pour la sécurité
Les versions de PHP suivent un cycle de support prévisible. Chaque version majeure reçoit deux ans de support actif (corrections de bugs et améliorations) suivis d'une année supplémentaire de corrections de sécurité uniquement. Après cela, la version atteint sa fin de vie (EOL) et ne reçoit plus aucun correctif, pas même pour des vulnérabilités de sécurité critiques.
Utiliser une version de PHP en fin de vie signifie que si une faille de sécurité est découverte, elle ne sera jamais corrigée. Les attaquants scannent activement les serveurs exécutant des versions obsolètes de PHP car ils savent que ces vulnérabilités resteront ouvertes en permanence. C'est l'une des manières les plus courantes dont les sites WordPress se font compromettre.
Cycle de support des versions de PHP
- PHP 7.4 : Fin de vie atteinte en novembre 2022. Ne reçoit plus aucune mise à jour. Encore utilisé par un nombre surprenant de sites WordPress.
- PHP 8.0 : Fin de vie atteinte en novembre 2023. N'est plus pris en charge.
- PHP 8.1 : Corrections de sécurité jusqu'en décembre 2025. Vous devriez planifier une mise à niveau prochainement.
- PHP 8.2 : Support actif jusqu'en décembre 2025, corrections de sécurité jusqu'en décembre 2026.
- PHP 8.3 : Support actif jusqu'en novembre 2026, corrections de sécurité jusqu'en novembre 2027.
- PHP 8.4 : Dernière version stable avec la plus longue fenêtre de support restante.
Toute version inférieure à PHP 8.1 est considérée en fin de vie et devrait être mise à niveau dès que possible.
Différences de performance entre les versions de PHP
PHP est devenu nettement plus rapide à chaque version majeure. Les benchmarks montrent systématiquement que PHP 8.x traite les requêtes WordPress beaucoup plus vite que les anciennes versions :
- PHP 8.0 vs 7.0 : Jusqu'à 3 fois plus rapide pour les charges de travail WordPress. Le compilateur JIT (Just-In-Time) introduit dans PHP 8.0 y contribue, bien que son impact spécifique sur WordPress soit modeste comparé aux améliorations générales du moteur.
- PHP 8.1 vs 7.4 : Environ 40-50 % plus rapide dans les benchmarks WordPress. Les fibers et enums ont été ajoutés, ainsi que des optimisations de performance générales.
- PHP 8.3 vs 8.0 : Environ 5-15 % plus rapide grâce à des optimisations incrémentales dans chaque version.
Mettre à niveau PHP est souvent le moyen le plus simple d'accélérer un site WordPress, car cela affecte chaque chargement de page sans nécessiter de modifications de votre code ou de votre contenu.
Comment vérifier votre version actuelle de PHP
Il existe plusieurs façons de découvrir quelle version de PHP votre site WordPress utilise :
- Administration WordPress : Allez dans Outils > Santé du site > Info > Serveur. La version de PHP y est indiquée.
- Panneau de contrôle de l'hébergement : La plupart des hébergeurs (cPanel, Plesk, panneaux personnalisés) affichent la version de PHP dans la section des paramètres serveur ou PHP.
- Rapport InspectWP : InspectWP détecte la version de PHP à partir de l'en-tête de réponse
X-Powered-Byou d'autres indicateurs serveur et l'affiche dans la section hébergement de votre rapport. - Fichier phpinfo() : Vous pouvez créer un fichier PHP temporaire avec
<?php phpinfo(); ?>, le téléverser sur votre serveur et l'ouvrir dans un navigateur. Supprimez-le immédiatement après, car phpinfo expose des détails sensibles de la configuration du serveur.
Comment mettre à jour PHP sur votre serveur WordPress
Les étapes exactes dépendent de votre hébergeur, mais voici les approches les plus courantes :
- cPanel : Cherchez « MultiPHP Manager » ou « Select PHP Version » dans votre panneau de contrôle. Vous pouvez généralement changer de version de PHP via un menu déroulant. Le changement prend effet en quelques minutes.
- Plesk : Allez dans Domaines > votre domaine > Paramètres PHP et sélectionnez la version souhaitée.
- Hébergement WordPress infogéré : Des hébergeurs comme Kinsta, WP Engine et SiteGround vous permettent généralement de changer de version de PHP via leur tableau de bord personnalisé en un clic.
- Contactez votre hébergeur : Si vous ne trouvez pas l'option vous-même, contactez l'équipe de support de votre hébergeur. Ils peuvent généralement changer la version de PHP rapidement pour vous.
Avant la mise à niveau, effectuez une sauvegarde complète de votre site. Puis testez votre site minutieusement après le changement, en faisant attention à la compatibilité des extensions et du thème. La plupart des extensions modernes prennent en charge PHP 8.x, mais des extensions plus anciennes ou abandonnées peuvent générer des erreurs.
Compatibilité de PHP 8.x avec WordPress
Le noyau WordPress prend en charge PHP 8.0 depuis WordPress 5.6 (décembre 2020) et PHP 8.1 depuis WordPress 5.9. Le support de PHP 8.2 a été amélioré dans WordPress 6.1, et la compatibilité avec PHP 8.3 a été abordée dans WordPress 6.4. Cependant, « WordPress prend en charge PHP 8.x » signifie seulement que le noyau WordPress lui-même fonctionne sans erreur. Vos extensions et votre thème doivent aussi être compatibles.
Les problèmes de compatibilité courants avec PHP 8.x incluent les appels à des fonctions dépréciées, la gestion plus stricte des types et les fonctionnalités supprimées. Si une extension n'a pas été mise à jour depuis plus d'un an, vérifiez sa page WordPress.org pour des rapports de compatibilité PHP 8 avant la mise à niveau.
Paramètres importants de php.ini pour WordPress
Le comportement de PHP est configuré via le fichier php.ini (ou via les directives .user.ini / .htaccess par répertoire). Plusieurs paramètres affectent directement les performances de WordPress :
memory_limit: La quantité maximale de mémoire qu'un script PHP peut utiliser. WordPress recommande au moins 256M. Si vous voyez des erreurs « Allowed memory size exhausted », ce paramètre est trop bas.upload_max_filesize: La taille maximale des fichiers pour les téléversements via la médiathèque WordPress. La valeur par défaut est souvent 2M, ce qui est trop petit pour la plupart des cas. Réglez-la à au moins 64M.post_max_size: Doit être supérieur ou égal àupload_max_filesize. Cela contrôle la taille maximale du corps entier de la requête POST.max_execution_time: Combien de temps un script PHP peut s'exécuter avant que le serveur ne le tue. La valeur par défaut est de 30 secondes. Les installations d'extensions, les imports et les sauvegardes peuvent nécessiter 120 à 300 secondes.max_input_vars: Le nombre maximum de variables d'entrée que PHP accepte. Les formulaires WordPress complexes et les configurations de menus peuvent nécessiter un réglage à 3000 ou plus (la valeur par défaut est 1000).
Erreurs PHP courantes dans WordPress et ce qu'elles signifient
Lorsque quelque chose tourne mal avec PHP sur votre site WordPress, vous verrez généralement l'une de ces erreurs :
- Fatal error: Allowed memory size exhausted : Un script a tenté d'utiliser plus de mémoire que
memory_limitne le permet. Augmentez la limite danswp-config.phpavecdefine('WP_MEMORY_LIMIT', '256M'); - Fatal error: Maximum execution time exceeded : Un script s'est exécuté plus longtemps que
max_execution_time. Cela arrive souvent lors de sauvegardes, d'imports ou de mises à jour d'extensions. - Parse error: syntax error : Il y a une erreur de syntaxe dans un fichier PHP. Cela arrive généralement après l'édition manuelle de fichiers de thème ou lorsqu'une extension contient un bug.
- Warning: Undefined variable / Undefined array key : Un script référence une variable ou une clé de tableau qui n'existe pas. Courant dans les anciennes extensions tournant sous PHP 8.x, où la gestion des variables non définies est devenue plus stricte.
- Deprecated: Function X is deprecated : Une extension ou un thème utilise une fonction PHP prévue pour suppression dans une version future. Le code fonctionne encore pour le moment mais devrait être mis à jour.
Ce que vérifie InspectWP
InspectWP détecte la version de PHP à partir de l'en-tête de réponse X-Powered-By ou d'autres indicateurs serveur. Si la version détectée a atteint sa fin de vie, InspectWP la signale comme un problème de sécurité avec un statut de danger. Les versions proches de la fin de vie reçoivent un avertissement. Les versions actuelles activement prises en charge sont marquées comme saines. Cela vous donne un signal clair pour savoir si votre version de PHP nécessite une attention particulière.