Tous les services opérationnels Devise EUR Aucun frais de mise en service Vous êtes à La Réunion ?
‹ Hébergement web et Plesk

Erreur 500 : comprendre et corriger

L'erreur 500 Internal Server Error signifie que le serveur a rencontré un problème imprévu en construisant la page, sans pouvoir en dire plus au visiteur. Elle vient presque toujours du site lui-même : une erreur dans le code PHP, une règle de .htaccess mal écrite, une limite de mémoire ou de temps dépassée, une version de PHP incompatible. Le journal d'erreurs du site nomme la cause : c'est le premier endroit à ouvrir.

Par Jonathan Dewaele · publié le

La RFC 9110, section 15.6.1, définit ce code comme une condition inattendue qui empêche le serveur de répondre. C'est un code générique : il dit qu'il y a une panne, pas où.

Si votre site tourne sous WordPress, l'article Erreur 500 WordPress : trouver la cause, réparer détaille les étapes propres à WordPress : extensions, thème, mode débogage. Celui-ci couvre tous les sites.

1. Lire le journal d'erreurs

Dans Plesk :

  1. Ouvrez le gestionnaire de fichiers de votre domaine.
  2. Ouvrez le dossier logs, puis le fichier error_log.
  3. Rechargez la page en erreur, puis rouvrez le fichier : la ligne la plus récente correspond à votre essai.

Ce chemin suit la documentation de Plesk sur le journal d'erreurs. Selon sa configuration, Plesk propose aussi un écran Journaux sous le nom du domaine, décrit dans sa documentation sur les fichiers journaux, qui permet de n'afficher que les erreurs. Les intitulés français peuvent différer de ces pages en anglais.

Les messages qui reviennent le plus souvent :

MessageCause
PHP Fatal error … in /chemin/fichier.php on line Nerreur dans ce fichier PHP
Allowed memory size of N bytes exhaustedmémoire PHP insuffisante
Maximum execution time of N seconds exceededscript trop long
Invalid command … perhaps misspelledligne invalide dans .htaccess
Call to undefined functionversion de PHP ou extension PHP manquante

2. Écarter le fichier .htaccess

Les sites passent chez nous par nginx devant Apache, et Apache lit le .htaccess à chaque requête. Une seule directive inconnue suffit à rendre tout le site en erreur 500.

  1. Dans le gestionnaire de fichiers, renommez .htaccess en .htaccess_old.
  2. Rechargez le site.
  3. Si la page revient, la cause est dans ce fichier : remettez-le en place et retirez la dernière modification faite.

3. Vérifier la version de PHP

Un site écrit pour une ancienne version de PHP peut casser après un changement de version, et l'inverse. Si l'erreur est apparue juste après un changement de version, revenez à la précédente le temps de mettre le code à jour. Chez nous, vous choisissez vous-même la version de chaque site dans Plesk, de 8.0 à 8.3 ; voir Changer la version de PHP de son site.

4. Mémoire et temps d'exécution

Les deux limites qui provoquent le plus d'erreurs 500 :

RéglageValeur relevée sur un site en PHP 8.3 chez nous
memory_limit256M
max_execution_time300 secondes

Si le journal parle de mémoire épuisée ou de temps dépassé, cherchez d'abord ce qui consomme autant : une importation géante, une boucle, une extension. Si le besoin est réel, les réglages de PHP se modifient sur demande : écrivez-nous depuis votre espace client en citant le site et la ligne du journal.

5. Ce qui a changé juste avant

Une erreur 500 qui apparaît d'un coup suit presque toujours un changement : mise à jour, fichier remplacé, réglage modifié. Défaire ce changement est souvent le plus court chemin. Si vous ne savez plus ce qui a bougé, la sauvegarde de la veille sert de référence : vos sites sont sauvegardés chaque nuit et chaque sauvegarde est gardée 30 jours, la restauration se fait sur simple demande.

Quand ce n'est pas votre site

Si le site ne répond plus du tout, sans code d'erreur, voyez plutôt Site inaccessible : que faire ?. Si tous vos sites renvoient une erreur au même moment, regardez la page État du réseau : elle montre l'état de nos services, relevé par une sonde toutes les cinq minutes. Une panne de notre côté y apparaît.

Questions fréquentes

L'erreur 500 est-elle due à l'hébergeur ?

Rarement. Une panne du serveur touche tous les sites qu'il porte en même temps. Une erreur 500 sur un seul site vient presque toujours de son code ou de sa configuration, et le journal d'erreurs le montre.

Quelle différence entre une erreur 500 et une erreur 503 ?

La 500 dit que la page a échoué. La 503 dit que le service est momentanément indisponible, par exemple surchargé : voir Erreur 503, 502 ou 504 : que faire ?.

Comment faire relever la limite de mémoire de PHP ?

Les réglages de PHP ne se changent pas depuis Plesk chez nous : écrivez-nous depuis votre espace client, avec le nom du site et la ligne du journal qui montre la limite atteinte.

Articles liés

  • Site inaccessible : que faire ?Site inaccessible ou qui ne s'affiche plus : savoir si la panne vient de vous, du domaine, du DNS, du certificat ou du serveur, et quoi faire.
  • Erreur 403 Forbidden : causes et solutionsErreur 403 Forbidden : le serveur refuse de servir la page. Droits de fichiers, page d'index absente, .htaccess, pare-feu : les causes, dans l'ordre.
  • Erreur 503, 502 ou 504 : que faire ?Erreur 503 Service Unavailable, 502 Bad Gateway ou 504 Gateway Timeout : ce que dit chaque code, pourquoi un site les renvoie et comment trouver la cause.