Créa-blog

#100JoursPourCoder
Projet Créa-code

Ressources pour développeur web

Théme de la semaine : Découvrir node.js

PHP 8.5 : Votre site web est-il compatible avec la version 8.5 ?

Temps de lecture estimé : 10 minutes
Accueil PHP 8 PHP 8.5 : Votre site web est-il compatible avec la version 8.5 ?

Imaginez un vieux moteur de voiture. Il démarre toujours, mais il tousse, consomme trop et laisse parfois échapper une odeur de brûlé. C’est un peu ce qui se passe avec les sites web construits il y a plusieurs années. Ils fonctionnent encore, mais les nouvelles versions de PHP — le moteur qui fait tourner la majorité des sites — demandent plus de puissance, de sécurité et de modernité. Et aujourd’hui, la question se pose sérieusement : votre site est-il compatible avec PHP 8.5 ?

Si vous gérez un site WordPress, un site vitrine en PHP pur ou une boutique en ligne, cette mise à jour n’est pas un détail. PHP 8.5 n’est pas seulement une version de plus : c’est un pas de géant dans la performance et la sécurité, mais aussi une source potentielle de casse si votre code n’est pas prêt.

Alors, avant de foncer tête baissée dans la mise à jour, prenons le temps d’apprendre à vérifier la compatibilité de votre site avec PHP 8.5, étape par étape, même si vous débutez totalement dans le domaine.

Pourquoi parle-t-on de compatibilité avec PHP ?

PHP est un langage qui évolue en permanence. Chaque nouvelle version apporte son lot d’améliorations : plus de rapidité, moins de failles, et parfois de nouvelles manières d’écrire le code.

Mais ce progrès a un revers : certaines fonctions anciennes sont supprimées ou modifiées. Résultat ? Des erreurs, des pages blanches, voire un site totalement inaccessible.

C’est ce qu’on appelle la rupture de compatibilité. En clair, le code de votre site a été écrit pour fonctionner avec une ancienne version (par exemple PHP 7.4), et il n’est pas forcément adapté à la nouvelle. C’est un peu comme tenter d’installer une vieille application sur un smartphone flambant neuf : parfois ça marche, parfois non.

Un développeur racontait récemment sur un forum avoir passé une nuit entière à comprendre pourquoi son site affichait une page blanche après la mise à jour vers PHP 8.3. Le coupable ? Une seule fonction dépréciée (mysql_query()) qui datait de… 2004 ! Il avait tout simplement oublié que cette fonction avait disparu depuis belle lurette.

Les enjeux derrière la compatibilité PHP 8.5

Avant de vous expliquer comment tester votre site, il faut bien comprendre pourquoi c’est crucial. Mettre à jour PHP, ce n’est pas un caprice de développeur : c’est une nécessité vitale pour la sécurité et la performance de votre site.

Avec PHP 8.5, on parle d’une vitesse d’exécution encore accrue (jusqu’à 20 % de gain sur certaines requêtes), d’une meilleure gestion de la mémoire, et surtout, d’un renforcement contre les failles de sécurité.

Mais tout cela n’a de sens que si votre site supporte cette version. Dans le cas contraire, vous risquez de vous retrouver avec des erreurs du type :

  • “Fatal error: Call to undefined function…”
  • “Deprecated: Function X is no longer supported…”
  • Ou le fameux écran blanc, le “White Screen of Death”, si vous utilisez WordPress.

C’est pour éviter ce genre de sueurs froides que nous allons voir comment vérifier, préparer et adapter votre site avant le grand saut vers PHP 8.5.

Première étape : connaître la version PHP actuelle de votre site

Avant même de parler de compatibilité, il faut savoir avec quelle version votre site tourne actuellement. C’est un peu comme vérifier le carburant de votre voiture avant de changer de moteur.

Il existe plusieurs façons simples de le savoir, selon votre niveau technique :

  1. Depuis votre hébergeur :
    La plupart des hébergeurs (OVH, Infomaniak, o2switch, etc.) affichent la version PHP utilisée dans votre panneau de gestion (souvent “PHP 7.4”, “PHP 8.1”, etc.). Vous y trouverez aussi un menu permettant de la modifier temporairement.
  2. Depuis un fichier PHP :
    Si vous avez accès à vos fichiers, créez un petit fichier appelé version.php à la racine de votre site avec ce contenu :<?php phpinfo(); ?> Puis ouvrez-le dans votre navigateur (exemple : monsite.fr/version.php).
    Une page détaillée apparaîtra, et la version PHP sera indiquée tout en haut.
    (Pensez à supprimer ce fichier ensuite, pour des raisons de sécurité.)
  3. Depuis WordPress (si vous l’utilisez) :
    Dans le tableau de bord, allez dans “Outils” > “Santé du site” > “Infos”.
    Vous y verrez la version PHP actuelle de votre hébergement.

Une fois cette information en main, vous savez d’où vous partez. Si votre site tourne encore sous PHP 7.x, il y a fort à parier qu’une mise à jour vers PHP 8.5 demandera quelques vérifications préalables.

Deuxième étape : comprendre ce qui change avec PHP 8.5

Chaque nouvelle version de PHP modifie certains comportements internes. PHP 8.5, en particulier, introduit plusieurs améliorations dans la gestion des types, la performance des fonctions internes et la compatibilité avec les frameworks récents comme Symfony 7 ou Laravel 11. Mais cela signifie aussi que du vieux code ou des extensions obsolètes peuvent ne plus fonctionner.

Un exemple concret : Une fonction comme create_function() (souvent utilisée il y a dix ans) a été supprimée depuis longtemps, remplacée par les fonctions anonymes modernes. Si votre site s’en sert encore, PHP 8.5 affichera une erreur fatale.

Autre cas fréquent : certaines extensions PHP ne sont plus maintenues. Par exemple, l’ancienne extension mysql a été remplacée par mysqli ou PDO. Si votre site date d’avant 2015, il est possible qu’il repose encore sur ces vieilles briques.

Tester la compatibilité de son site avec PHP 8.5

Vous savez désormais pourquoi il est important de vérifier la compatibilité, et vous connaissez la version PHP actuelle de votre site. Il est temps de passer à la pratique : comment savoir, sans tout casser, si votre site est prêt pour PHP 8.5 ?
Heureusement, il existe des outils simples, parfois même automatiques, pour faire le diagnostic avant de toucher à quoi que ce soit.


Méthode 1 : utiliser un outil de compatibilité en ligne

La solution la plus rapide, surtout si vous n’êtes pas à l’aise avec le code, consiste à passer par un outil de vérification automatique.

Parmi les plus connus :

  • PHP Compatibility Checker (anciennement de WPEngine) : c’est un plugin gratuit pour WordPress.
  • PHPStan et Psalm, des outils de test statique utilisés par les développeurs, mais que l’on peut aussi exécuter sans grandes compétences techniques.
  • Ou encore des scanners en ligne, qui analysent le code source et détectent les fonctions obsolètes.

Prenons le cas du plugin PHP Compatibility Checker pour WordPress.
Une fois installé depuis le répertoire des extensions, il suffit d’aller dans “Outils” → “Vérification PHP” et de lancer l’analyse pour la version souhaitée (ici PHP 8.5).
L’outil scanne tous les fichiers de votre site et affiche un rapport détaillé :

  • En vert : les fichiers compatibles
  • En orange : les fonctions à surveiller
  • En rouge : les erreurs fatales qui empêcheront votre site de fonctionner

Ce plugin a sauvé bien des webmasters d’une mise à jour désastreuse. Certains racontent qu’ils pensaient leur site “parfaitement propre” jusqu’à ce qu’ils découvrent des dizaines de fonctions obsolètes cachées dans des extensions installées depuis 2016…
Mieux vaut le savoir avant d’appuyer sur “Mettre à jour”.

Méthode 2 : tester en local avant de changer quoi que ce soit

C’est la méthode la plus sûre, et celle que tout bon développeur utilise avant toute mise à jour majeure. L’idée est simple : dupliquer votre site sur votre ordinateur (ou sur un sous-domaine de test) et y activer PHP 8.5, sans toucher au site en ligne.

Pour cela, vous pouvez utiliser des logiciels gratuits comme :

En local, vous pouvez reproduire exactement votre environnement d’hébergement et voir comment le site réagit avec PHP 8.5. Si des erreurs apparaissent, elles ne poseront aucun problème à vos visiteurs : c’est un bac à sable sécurisé.

Un site e-commerce tournant sous WooCommerce 6.7 fonctionnait parfaitement en PHP 7.4. Après un test local sous PHP 8.2, certaines extensions de paiement ont cessé de répondre. La cause ? Des librairies non mises à jour depuis 2021. Grâce à ce test, j’ai pu corriger le problème avant la mise à jour en production. C’est exactement le genre de scénario qu’il faut anticiper.

Méthode 3 : activer temporairement PHP 8.5 sur une copie de votre site en ligne

Si votre hébergeur le permet, vous pouvez créer une copie du site (souvent appelée “staging” ou “préproduction”) et activer PHP 8.5 uniquement sur celle-ci. Cela permet de tester dans les conditions réelles : même base de données, même configuration serveur, mais sans risquer de tout casser publiquement.

Par exemple, chez o2switch ou Infomaniak, vous pouvez créer un sous-domaine du type test.monsite.fr et y cloner votre site principal. Ensuite, dans le panneau de gestion, il suffit de choisir PHP 8.5 pour ce sous-domaine. En quelques clics, vous verrez si le site tourne toujours correctement, si les formulaires fonctionnent, si les plugins répondent, etc.

Petite astuce : avant de tester, vide le cache et désactive les plugins de cache comme WP Rocket ou LiteSpeed Cache. Ces outils peuvent parfois masquer des erreurs au moment des tests.

Que faire si votre site n’est pas compatible ?

C’est souvent là que la panique commence. Mais pas de panique justement : il existe plusieurs manières de corriger les problèmes de compatibilité, même sans être un expert.

Cas 1 : le problème vient d’un plugin ou d’un thème (WordPress)
C’est le cas le plus fréquent. Commencez par vérifier si une mise à jour du plugin ou du thème est disponible. Les développeurs publient régulièrement des correctifs pour les nouvelles versions de PHP. Si ce n’est pas le cas, contactez leur support ou cherchez une alternative plus récente.

Formation web et informatique - Alban Guillier - Formateur

Des formations informatique pour tous !

Débutant ou curieux ? Apprenez le développement web, le référencement, le webmarketing, la bureautique, à maîtriser vos appareils Apple et bien plus encore…

Formateur indépendant, professionnel du web depuis 2006, je vous accompagne pas à pas et en cours particulier, que vous soyez débutant ou que vous souhaitiez progresser. En visio, à votre rythme, et toujours avec pédagogie.

Découvrez mes formations Qui suis-je ?

Cas 2 : le problème vient de votre propre code
Si vous avez développé votre site vous-même, le plus simple est d’utiliser un outil comme PHPStan. Il analyse votre code et vous dit précisément quelles lignes posent problème.
Par exemple :

vendor/bin/phpstan analyse --level=max ./mon_site

Vous obtiendrez une liste de messages expliquant quels appels de fonction sont incompatibles avec PHP 8.5. Vous pourrez alors les remplacer ou les réécrire à votre rythme.

Les erreurs typiques à surveiller

Certaines erreurs reviennent très souvent lors d’une montée de version PHP :

  • Les fonctions supprimées : create_function()ereg()mysql_*()each()
  • Les paramètres obligatoires réordonnés : certaines fonctions changent la place des arguments.
  • Les warnings de type “deprecated” : ils signalent des fonctions qui vont disparaître dans les versions futures.
  • Les erreurs de typage strict : PHP 8 a introduit des règles plus strictes sur les types de données (entier, booléen, chaîne…). Si votre code mélange un peu tout, cela peut provoquer des “TypeError”.

Un bon réflexe consiste à activer le rapport d’erreurs complet en local. Ajouter ce code avant tout le reste :

error_reporting(E_ALL);
ini_set('display_errors', 1);

Cela vous permettra de tout voir noir sur blanc et de corriger avant la mise en ligne.

Méthode complémentaire : scanner vos dépendances

Si votre site utilise un framework (Laravel, Symfony, CodeIgniter…) ou des librairies via Composer (Guide complet pour Composer), vous pouvez vérifier la compatibilité grâce à cette commande :

composer outdated

Elle vous indiquera les dépendances obsolètes. Certaines peuvent ne pas encore être prêtes pour PHP 8.5. Dans ce cas, mieux vaut attendre leur mise à jour avant de migrer votre environnement.

Sauvegarder avant tout

Avant toute modification, pensez à faire une sauvegarde complète : fichiers et base de données. C’est la ceinture de sécurité du développeur. On espère ne jamais s’en servir, mais le jour où un site tombe après la mise à jour, on est bien content de pouvoir le restaurer.

Quand savoir si votre site est prêt pour PHP 8.5 ?

Le moment est venu quand :

  • Votre site s’affiche correctement en local ou sur votre clone test sous PHP 8.5
  • Aucune erreur n’apparaît dans les logs
  • Vos extensions et thèmes sont à jour
  • Vous avez vérifié les formulaires, les paiements, et les zones dynamiques du site

Alors seulement, vous pouvez activer PHP 8.5 sur votre hébergement principal, en toute sérénité.

Mettre à jour vers PHP 8.5 sans stress

Si vous avez suivi les étapes précédentes, votre site a été testé, corrigé, et validé dans un environnement sûr. Vous êtes prêt à passer à la vitesse supérieure : le passage à PHP 8.5 en production.

Mais attention : une mise à jour réussie ne se limite pas à cliquer sur un bouton. C’est une opération technique qu’il faut aborder avec méthode et prudence.

Sur la plupart des hébergements modernes, changer de version PHP se fait depuis le panneau de gestion (souvent appelé cPanel, Plesk ou Interface client). Vous trouverez un menu “Version PHP” ou “Configuration PHP”. Il suffit alors de sélectionner 8.5 dans la liste et de valider. En quelques secondes, votre serveur utilise la nouvelle version.

Mais avant de quitter la page avec le sourire, il est essentiel de vérifier en direct que tout fonctionne :

  • Rechargez la page d’accueil, les formulaires, les pages dynamiques (panier, connexion, contact…).
  • Ouvrez la console de votre navigateur pour voir s’il n’y a pas d’erreurs JavaScript liées à des scripts intégrés.
  • Consultez les fichiers de logs (souvent /logs/error.log) pour repérer les éventuels messages d’erreur invisibles à l’écran.

Une astuce souvent oubliée : effacez tous les caches (WordPress, navigateur, CDN, etc.). Sinon, vous risquez de croire que tout va bien, alors que le site vous montre simplement une version en cache datant d’avant la mise à jour.

Surveiller la compatibilité dans la durée

La compatibilité PHP 8.5 n’est pas un effort ponctuel, mais un processus continu. En d’autres termes, il ne suffit pas d’être compatible avec PHP 8.5 aujourd’hui ; il faut aussi anticiper PHP 8.6, 9.0, et les suivantes.

Un site web, c’est un peu comme un jardin : si vous laissez les mauvaises herbes pousser trop longtemps, la remise en état sera douloureuse. De même, si vous laissez vos plugins, thèmes et bibliothèques vieillir, la prochaine mise à jour deviendra un cauchemar.

Pour éviter cela, voici quelques bons réflexes (les seuls points que je me permets de présenter sous forme de liste, car ils sont essentiels) :

  • Mettre à jour régulièrement WordPress, les plugins, et les thèmes.
    Même si tout fonctionne, ces mises à jour contiennent souvent des correctifs de compatibilité pour les nouvelles versions de PHP.
  • Lire les changelogs (les journaux de modifications) des mises à jour. Certains indiquent explicitement “Compatible with PHP 8.5”, ce qui est un bon signe.
  • Surveiller les alertes de votre hébergeur.
    Les hébergeurs informent souvent leurs clients plusieurs mois à l’avance lorsqu’une version de PHP arrive en fin de vie. Ne négligez jamais ces messages : ils sont là pour éviter que votre site ne se retrouve sur une version non sécurisée.
  • Automatiser les tests.
    Si vous gérez plusieurs sites, vous pouvez mettre en place des tests automatiques avec PHPStan ou des scripts simples qui alertent dès qu’une fonction obsolète apparaît.

L’importance de la maintenance PHP pour la sécurité

Chaque version de PHP a une durée de vie officielle d’environ trois ans : deux ans de support actif, puis un an de correctifs de sécurité. Passé ce délai, votre version devient vulnérable. Les pirates le savent très bien : ils ciblent en priorité les serveurs qui tournent avec des versions dépassées.

C’est pourquoi rester à jour est une obligation morale autant que technique.

Vous ne le faites pas seulement pour gagner en vitesse ou par perfectionnisme : vous protégez les données de vos visiteurs, vos formulaires de contact, vos identifiants, vos paiements en ligne. Un simple script obsolète peut suffire à exposer tout un site, parfois sans que vous ne vous en rendiez compte.

Il m’est arrivé de croiser un site, resté bloqué sur PHP 7.1, qui affichait fièrement ses devis et factures en ligne. Un jour, les fichiers PDF ont été indexés par Google… sans protection. Une simple faille dans un vieux plugin suffisait à contourner la restriction d’accès.

Quand faut-il éviter de passer à PHP 8.5 ?

Il existe quelques rares cas où il est préférable d’attendre. Par exemple, si votre site repose sur un CMS ou une extension qui n’est pas encore officiellement compatible, mieux vaut patienter que de forcer la mise à jour.

Certains sites complexes, notamment les intranets ou les plateformes sur mesure, peuvent dépendre d’anciennes bibliothèques qui ne sont plus maintenues. Dans ce cas, il faut prévoir une refonte progressive du code.

Dans un tel contexte, il est préférable de rester temporairement sur une version stable antérieure (comme PHP 8.2 ou 8.3), tout en planifiant la transition. Mais ne transformez pas cette attente en habitude : plus le décalage grandit, plus la migration deviendra difficile.

PHP 8.5 : une opportunité de moderniser son site

Il faut voir la compatibilité avec PHP 8.5 non pas comme une contrainte, mais comme une formidable occasion de dépoussiérer votre site. Vous pouvez en profiter pour :

  • nettoyer le code obsolète,
  • alléger les extensions inutilisées,
  • améliorer la vitesse de chargement,
  • renforcer la sécurité,
  • et même repenser certaines fonctionnalités.

Le simple fait de supprimer des plugins incompatibles redonne une seconde jeunesse à votre site web !


Vérifier la compatibilité de son site avec PHP 8.5 n’est pas seulement une étape technique, c’est un geste de bon sens numérique. C’est accepter que le web évolue, que les technologies changent, et que notre rôle, en tant que créateurs, est d’accompagner ce mouvement plutôt que de le subir.

Apprendre à tester, corriger et anticiper, c’est investir dans la longévité de votre site. Un site compatible avec PHP 8.5, c’est un site plus rapide, plus sûr et plus durable. Et surtout, c’est un site que vous pouvez faire évoluer sans crainte, au fil des années.

La compatibilité, au fond, ce n’est pas une contrainte : c’est la promesse que votre travail continuera de vivre dans le temps, peu importe les versions qui suivront. Et dans le monde du web, c’est sans doute la plus belle des garanties.