Blog

Erreur 500 : quand le serveur plante sans dire pourquoi

JoaoDG 4 min de lecture

"Internal Server Error", ou erreur 500, est l'un des messages les plus frustrants qu'un site puisse afficher. Contrairement à la 404, qui dit clairement que la page n'existe pas, la 500 est volontairement vague : le serveur sait que quelque chose s'est mal passé, mais ne dit pas quoi au visiteur. C'est une règle de sécurité, car les détails d'une erreur peuvent aider un attaquant.

Ce que cela signifie

La requête est arrivée au serveur, le serveur a tenté d'y répondre et, en cours de route, un imprévu s'est produit. Il peut s'agir d'une ligne de code contenant une erreur, d'une configuration invalide, d'un manque de mémoire ou d'une base de données qui n'a pas répondu comme prévu. Pour le visiteur, le résultat est toujours le même : une page blanche ou un message générique.

Les causes les plus fréquentes

  • Une mise à jour qui a mal tourné. Une extension, un thème ou l'application elle-même a été mis à jour et n'est plus compatible avec un autre élément.

  • Une erreur de code. Une modification faite à la hâte, sans test, avec une erreur qui n'apparaît qu'en production.

  • Configuration du serveur invalide. Un fichier de configuration contenant une faute de frappe, comme le .htaccess sur les serveurs Apache, suffit à faire tomber le site.

  • Manque de ressources. Le processus qui génère la page a besoin de plus de mémoire ou de temps que le serveur ne l'autorise, et il est interrompu.

  • Mauvaises permissions de fichiers. Le serveur ne parvient pas à lire ou à exécuter un fichier dont il a besoin.

  • Version du langage incompatible. L'hébergeur a mis à jour, par exemple, la version de PHP, et d'anciennes parties du site ont cessé de fonctionner.

La première étape : les journaux d'erreurs

Le message vu par le visiteur est générique, mais le serveur conserve le détail. Les journaux d'erreurs (error logs) indiquent exactement quel fichier, quelle ligne et quel problème. Sans les lire, corriger une erreur 500 revient à deviner.

Sur un hébergement mutualisé, ils se trouvent généralement dans le panneau de contrôle. Sur un serveur dédié, ils se trouvent dans les fichiers journaux du serveur web et de l'application. La personne qui gère le site doit savoir où ils sont et pouvoir y accéder en quelques minutes.

Que faire, dans l'ordre

  1. Se demander ce qui a changé. L'erreur est-elle apparue après une mise à jour, une modification ou une installation ? Dans la grande majorité des cas, la cause est la dernière chose qui a changé.

  2. Lire le journal d'erreurs au moment où l'erreur se produit.

  3. Annuler la dernière modification. Si c'était une extension, la désactiver. Si c'était une modification de code, revenir en arrière. Si c'était une mise à jour, restaurer la version précédente à partir d'une sauvegarde.

  4. Vérifier les ressources : espace disque, mémoire disponible et limites du langage.

  5. Confirmer que l'erreur a disparu sur plusieurs pages, pas seulement sur la page d'accueil.

Sur WordPress

Sur un site WordPress, les causes les plus courantes sont une extension en conflit, un thème incompatible ou la limite de mémoire de PHP. Désactiver toutes les extensions puis les réactiver une à une permet de trouver la coupable. Si vous ne pouvez pas accéder au tableau de bord, il suffit de renommer le dossier des extensions par FTP ou via le gestionnaire de fichiers de l'hébergeur.

Ce qu'il ne faut pas faire

  • Ne pas activer l'affichage des erreurs sur le site public. Cela aide au diagnostic, mais montre à n'importe quel visiteur des chemins de fichiers et des détails internes. Les erreurs se consultent dans les journaux, pas sur la page.

  • Ne pas faire plusieurs modifications à la fois. Si vous changez cinq choses et que l'erreur disparaît, vous ne saurez pas laquelle l'a corrigée, ni si l'une des autres a créé un nouveau problème.

  • Ne pas ignorer les erreurs 500 intermittentes. Une erreur qui apparaît de temps en temps est souvent due à un manque de ressources ou à un problème qui va s'aggraver.

Comment la prévenir

  • Tester les mises à jour dans un environnement de test avant de les appliquer au site public.

  • Disposer de sauvegardes récentes et savoir les restaurer.

  • Mettre en place une surveillance qui alerte dès que le site commence à renvoyer des erreurs, au lieu d'attendre l'appel d'un client.

Une erreur 500 fait peur, mais elle se corrige presque toujours rapidement quand il y a des journaux, des sauvegardes et quelqu'un qui sait où chercher. Si votre site n'a rien de tout cela, contactez-nous avant que l'erreur n'apparaisse.

Image : Wikimedia Commons, domaine public (CC0).

Traduit automatiquement du portugais.

Partager :

Un projet en tête ?

Parlons de votre site ou application - sans engagement.

Parler au studio