Remettre le site en marche (2 minutes)
Dans le panel de votre hébergeur, cherchez la rubrique « Version de PHP », « Configuration PHP » ou « MultiPHP » (le nom change selon l’hébergeur). Repassez sur la version précédente, enregistrez, patientez une minute et rechargez le site.
C’est un pansement, pas une solution : la version précédente est probablement elle-même en fin de support. Notez la date, il faudra traiter le fond du problème.
Lire l’erreur au lieu de deviner
L’erreur est écrite quelque part, il suffit de savoir où chercher :
- le journal d’erreurs de l’hébergeur (rubrique « Logs » ou fichier
error_logà la racine) ; - sur WordPress,
wp-content/debug.log(voir le guide WordPress) ; - sur PrestaShop, le dossier
var/logs/.
Pour afficher les erreurs à l’écran le temps d’un test, uniquement sur une copie :
ini_set('display_errors', '1');
error_reporting(E_ALL);
Ne laissez jamais cet affichage actif sur le site public : il montre vos chemins de fichiers à tout le monde.
Les messages les plus fréquents
| Message | Cause | Correction |
|---|---|---|
| Call to undefined function mysql_connect() | Extension supprimée depuis PHP 7. | Passer à mysqli ou PDO. |
| Call to undefined function each() | Fonction retirée en PHP 8.0. | Réécrire la boucle avec foreach. |
| Call to undefined function curl_init() | Extension non activée pour la nouvelle version de PHP. | L’activer dans le panel de l’hébergeur. |
| Parse error: syntax error, unexpected … | Syntaxe retirée, ou plugin trop ancien. | Mettre à jour ou corriger le fichier indiqué. |
| Warning: Undefined array key "x" | Notice devenue warning en PHP 8.0. | Tester la clé avec isset() ou ??. |
| Deprecated: Passing null to parameter | null envoyé à une fonction interne (PHP 8.1). | Donner une valeur par défaut : ?? ''. |
| Deprecated: Creation of dynamic property | Propriété non déclarée (PHP 8.2). | Déclarer la propriété dans la classe. |
| Allowed memory size exhausted | Les réglages mémoire ne sont pas toujours repris au changement de version. | Vérifier memory_limit pour la nouvelle version. |
Les lignes « Deprecated » et « Warning » n’arrêtent pas le site à elles seules : seuls les « Fatal error » et « Parse error » provoquent l’écran blanc ou l’erreur 500.
Ce qu’il vaut mieux ne pas faire
- Masquer toutes les erreurs avec
error_reporting(0)comme solution définitive : le problème reste, vous ne le voyez simplement plus. - Modifier le code en direct sur le site public, sans sauvegarde.
- Réinstaller WordPress ou PrestaShop « pour voir » : vous risquez d’écraser des données.
- Rester indéfiniment sur la vieille version de PHP sans date limite : l’hébergeur finira par la retirer.
Quand demander de l’aide
Si l’erreur pointe dans un plugin, un thème ou un module que vous ne maîtrisez pas, si la boutique perd des ventes, ou si plusieurs erreurs s’enchaînent, envoyez-moi l’adresse du site et le message exact. Je vous dis ce qui bloque et ce que ça demande, avant toute intervention.
Questions fréquentes
Mes données sont-elles perdues ?
Presque jamais. Un changement de version de PHP ne touche ni vos fichiers ni votre base de données : il change seulement la façon dont le code est exécuté. En repassant à la version précédente, le site revient tel quel.
Pourquoi mon hébergeur a-t-il changé la version sans que je le sache ?
Les hébergeurs retirent régulièrement les versions de PHP qui ne sont plus suivies, pour des raisons de sécurité, en prévenant par e-mail. Ce message se perd facilement dans les spams : vérifiez vos courriers de l’hébergeur.
Combien de temps faut-il pour réparer ?
Une erreur isolée se règle souvent en moins d’une heure. Un site avec plusieurs plugins abandonnés demande quelques jours, avec une copie de test pour ne rien risquer.