Les codes de statut HTTP informent si une requête sur Internet est fruc­tueuse, et indiquent l’erreur si ce n’est pas le cas. Toutefois, ces messages d’erreur ne sont pas toujours clairs. Cela vaut par­ti­cu­liè­re­ment pour le message d’erreur « 500 Internal Server Error ». Ce message d’erreur indique qu’une erreur s’est produite pendant la connexion au serveur et, par con­sé­quent, la page demandée ne peut pas être chargée. Cependant on n’apprend pas la cause exacte. Heu­reu­se­ment, il existe dif­fé­rentes méthodes pour trouver l’origine d’un tel problème. Nous sou­lig­nons dans cet article les sources typiques d’erreurs et four­nis­sons des conseils sur la façon de réagir lorsque vous ren­con­trez l’erreur HTTP 500.

Nom de domaine
Votre domaine en un clic
  • 1 cer­ti­fi­cat SSL Wildcard par contrat
  • Fonction incluse Domain Connect pour une con­fi­gu­ra­tion DNS sim­pli­fiée

Que signifie le code Internal Server Error ?

Avec ce code de statut, le serveur Web indique au na­vi­ga­teur (client) d’un in­ter­naute si une requête (ou le char­ge­ment d’un site Web) aboutit ou non. Si le na­vi­ga­teur obtient le statut 200, cela signifie que tout s’est bien passé. L’uti­li­sa­teur ne voit pas ce message, mais le contenu demandé apparaît à la place. Cela est différent avec les codes 400 et 500. Tandis que les erreurs du premier groupe (400) renvoient au client, ceux du deuxième groupe (500) dépendent du serveur. L’Internal Server Error 500 est un code de statut ras­sem­blant les erreurs de serveur. Par con­sé­quent, à première vue, il n’est pas possible de voir où réside l’erreur. Vous ne ren­con­trez que ce qui suit : le serveur signale une erreur inat­ten­due.

Si toutefois le service d’in­for­ma­tion Microsoft (Microsoft IIS) est installé côté serveur, le code d’erreur est spécifié. Les décimales après la virgule indiquent plus en détail la cause de l’erreur :

  • 500.0 : il manque un module ou un ISAPI
  • 500.11 : une ap­pli­ca­tion est ac­tuel­le­ment en cours d’exécution sur le serveur
  • 500.12 : une ap­pli­ca­tion est re­dé­mar­rée sur le serveur
  • 500.13 : le serveur Web est ac­tuel­le­ment plei­ne­ment utilisé
  • 500.15 : une demande directe pour le fichier (optionnel) global.asax n’est pas autorisée
  • 500.19 : les données de con­fi­gu­ra­tion sont invalides
  • 500.22 : une con­fi­gu­ra­tion du module HTTP (dans une ap­pli­ca­tion Web ASP.NET) ne s’applique pas au mode Pipeline
  • 500.23 : une con­fi­gu­ra­tion de ges­tion­naire HTTP (dans une ap­pli­ca­tion Web ASP.NET) n’est pas ap­pli­cable en mode Pipeline managé
  • 500.24 : une con­fi­gu­ra­tion de chan­ge­ment d’identité (pour ASP.NET) ne peut pas être utilisée en mode Pipeline géré
  • 500.50 : une erreur s’est produite lors de la réé­cri­ture pendant le trai­te­ment de la no­ti­fi­ca­tion RQ_BEGIN_REQUEST
  • 500.51 : une erreur s’est produite lors de la réé­cri­ture pendant le trai­te­ment de la no­ti­fi­ca­tion RQ_PRE_BEGIN_REQUEST
  • 500.52 : une erreur s’est produite lors de la réé­cri­ture pendant le trai­te­ment de la no­ti­fi­ca­tion RQ_SEND_RESPONSE
  • 500.53 : une erreur s’est produite lors de la réé­cri­ture pendant le trai­te­ment de la no­ti­fi­ca­tion RQ_RELEASE _REQUEST_STATE
  • 500.100 : une erreur s’est produite dans le moteur ASP

Qu’est-ce qui provoque l’erreur 500 ?

L‘erreur « Internal Server Error » peut se produire lorsque la requête est traitée par le serveur Web. Ce groupe de codes de statut comprend tout ce qui se passe in­vo­lon­tai­re­ment sur le serveur, empêchant l’affichage du site. L’erreur server 500 se produit pro­ba­ble­ment car une erreur s’est produite lors de la con­fi­gu­ra­tion du serveur Web. Voici une sélection de sources typiques d’erreurs :

  • Erreur de per­mis­sion : les au­to­ri­sa­tions des fichiers et des dossiers prin­ci­paux ne sont pas définies cor­rec­te­ment
  • PHP-Timeout : le script tente d’accéder à une ressource externe et éprouve un délai d’attente
  • Code incorrect dans .htaccess : la structure dans un fichier .htaccess peut être in­cor­recte
  • Erreur dans la syntaxe ou du code dans les scripts CGI/Perl : dans certains cas, les scripts sont in­cor­rects. Les chemins peuvent notamment être mal situés.
  • PHP-Memory-Limit : un processus dépasse la mémoire et ne peut pas être exécuté cor­rec­te­ment

Avec des pages WordPress ou d’autres systèmes de gestion de contenu, l’ins­tal­la­tion d’une extension dé­fec­tueuse ou in­com­pa­tible peut aussi être la cause. Plugins et thèmes, en par­ti­cu­lier de four­nis­seurs tiers, peuvent affecter l‘in­té­gra­lité du site.

Comment les Web­mas­ters peuvent corriger une « 500 Internal Server Error » ?

Les visiteurs de votre site Web ne voient plus le contenu, mais seulement l’erreur du serveur 500 ? En tant qu’ex­ploi­tant de site Internet, vous devriez di­rec­te­ment aborder le problème, car ce ne sera pas seulement énervant pour les visiteurs de votre site, Google pourrait aussi décider de vous pénaliser au niveau du ré­fé­ren­ce­ment. Avant d’effectuer la moindre action en tant que Webmaster, vérifiez d’abord si votre serveur fonc­tionne toujours. Sinon, un contact rapide avec votre four­nis­seur d’hé­ber­ge­ment est né­ces­saire.

S’il y a une erreur interne, regardez d’abord les fichiers log : pour les serveurs Linux, la collecte des messages d’erreur se trouve sous /var/log/httpd/error_log. Il est pour cela utile de recharger le site Web pour re­pro­duire l’erreur HTTP 500, tout en observant la création du fichier Log. Vous pouvez ainsi trouver la source de l’erreur assez ra­pi­de­ment. Dans de nombreux cas, les plugins in­cor­rec­te­ment pro­gram­més ou in­com­pa­tibles four­nis­sent des messages d’erreur.

L’erreur peut également se produire si vous n’avez pas défini cor­rec­te­ment les au­to­ri­sa­tions pour les fichiers im­por­tants. Il existe gé­né­ra­le­ment trois types de droits :

  • Lire (r pour read)
  • Ecrire (w pour write)
  • Exécuter (x pour execute)

Ces au­to­ri­sa­tions peuvent être at­tri­buées à trois types d’uti­li­sa­teurs dif­fé­rents :

  • Pro­prié­taire du fichier
  • Groupe d’uti­li­sa­teurs
  • Tous les autres

Les droits sont indiqués soit par les abré­via­tions r, w et x soit par les valeurs nu­mé­riques cor­res­pon­dantes : 4 pour lire, 2 pour écrire et 1 pour exécuter. Ils sont ajoutés pour chaque type d’uti­li­sa­teur et sont donnés l’un après l’autre : rwxr-xr-x (rwx pour le pro­prié­taire, r-x pour le groupe et  r-x pour tous les autres) ou 755. Cette con­fi­gu­ra­tion (aussi 755) devrait être le pa­ra­mé­trage standard. Si l’af­fec­ta­tion des droits est définie dif­fé­rem­ment, l’erreur peut se produire. Vous pouvez modifier ceci avec une commande :

chmod 755 nom du fichier

Si cette mo­di­fi­ca­tion ne change pas le problème, vous pouvez également partager tous les droits pour chaque groupe à des fins de test :

chmod 755 nom du fichier

Utilisez ce paramètre uni­que­ment pour localiser le problème. Cela permet à tout uti­li­sa­teur de réécrire le fichier, ce qui est na­tu­rel­le­ment un risque pour la sécurité.

Vérifiez ensuite si vos scripts fonc­tion­nent cor­rec­te­ment (sauf si la dis­tri­bu­tion des droits a produit le message d’erreur). Parfois, des erreurs se pro­dui­sent car les fichiers scripts ont été déplacés, renommés ou supprimés. Vérifiez aussi le fichier .htaccess car une erreur de syntaxe, aussi petite soit-elle, peut générer une erreur interne au niveau du serveur. Une erreur également courante est la mise en forme in­cor­recte du fichier .htaccess. Ce dernier doit être créé au format ASCII ou ANSI, mais comme Unicode. Ecrivez par con­sé­quent le fichier dans un éditeur de texte tel que Notepad, Notepadd++ ou Sublime Text, et pas dans un programme de trai­te­ment de texte tel que Microsoft Word. Afin de tester si le fichier est res­pon­sable de l’erreur, vous pouvez le renommer et le recharger tem­po­rai­re­ment. Le serveur n’accédera pas à .htaccess pendant le char­ge­ment du site. Si le message d’erreur ne se produit plus, vous pouvez réparer le fichier ou en créer un nouveau.

Enfin, un délai d’attente peut également conduire au message d’erreur. Dans ce cas, ce n’est pas une erreur du serveur Web, mais plutôt une connexion in­ter­rom­pue à une source externe. Les scripts PHP sur votre site sont-ils con­fi­gu­rés pour vous permettre d‘accéder aux res­sources d’autres serveurs ? La ressource peut ne pas être dis­po­nible, ou la com­mu­ni­ca­tion du serveur est perturbée pour une autre raison. Une pos­si­bi­lité pour exclure cette source d’erreur est de rendre votre page in­dé­pen­dante des res­sources externes. Si cela n’est pas possible, vous pouvez augmenter le délai de votre script. Il est en outre pertinent d’inclure une gestion efficace des erreurs, de sorte que les erreurs dans le script PHP puissent être détectées plus ra­pi­de­ment.

La mémoire peut-elle être sur­char­gée ? La limite de mémoire est utilisée pour dé­ter­mi­ner la quantité de mémoire qu’un processus peut prendre. Si plus de RAM est né­ces­saire, une erreur interne du serveur peut en résulter. Vous pouvez définir la limite comme une solution tem­po­raire. Pour ce faire, ajouter une commande au php.ini selon ce modèle :

memory_limit = 512M

Dans cet exemple, vous mettez 512 Mo de mémoire à dis­po­si­tion. Gardez toutefois à l’esprit que votre four­nis­seur d’hé­ber­ge­ment vous offre une limite de script PHP spé­ci­fique dans l’offre réservée. Si vous entrez une valeur plus élevée, le serveur Web l’ignorera. Le réglage de la limite ne peut être qu’une solution de tran­si­tion : une fois que votre page réap­pa­raît, vous devriez re­cher­cher le motif du fort besoin en RAM. Il est fort probable que l’erreur se trouve dans le code de votre site.

Si parmi les méthodes ci-dessus vous ne parvenez pas à trouver une solution, il est judicieux de contacter votre four­nis­seur d’hé­ber­ge­ment. Avant de pouvoir vérifier l’état des serveurs : de nombreux four­nis­seurs de services d’hé­ber­ge­ment annoncent l’état de leurs serveurs via une page d’état ou informent les uti­li­sa­teurs via les réseaux sociaux en cas de problème.

Si des problèmes de serveur sont déjà connus, vous devez faire preuve de patience : il ne vous reste plus qu’à attendre que l’équipe IT de l’hébergeur corrige le bug. Mais même si aucun problème avec les serveurs n’est connu, un contact avec l’as­sis­tance peut être utile. Faites-leur savoir quelles mesures vous avez déjà prises. Vous pouvez ainsi vous faire aider ra­pi­de­ment.

Comment des in­ter­nautes peuvent-ils réagir à une erreur HTTP 500 ?

En tant que visiteur d’un site Web, vous ne pouvez en principe pas faire grand-chose si vous ren­con­trez une erreur de serveur interne. Le serveur Web sur lequel se trouve le site Web ciblé renvoie à une con­fi­gu­ra­tion dé­fec­tueuse. Cela signifie qu’il n’y a pas d’erreur dans les pa­ra­mètres de votre PC ou de la connexion réseau. Par con­sé­quent, en tant qu’in­ter­naute, la solution la plus simple est de recharger la page ul­té­rieu­re­ment. D’une part, il se peut que le Webmaster ait déjà corrigé l’erreur. Ceci est par­ti­cu­liè­re­ment probable avec de gros four­nis­seurs. En revanche, il est aussi probable que vous sou­hai­tiez accéder à un contenu au mauvais moment. Si vous arrivez au moment où le service redémarre, le message d’erreur s’affiche, bien que tout se passe selon le plan.

Note

Si vous êtes confronté à un message d’erreur lors d’un processus de commande en ligne, ne rechargez pas la page Web. Vous ne pouvez pas voir à quel stade l’erreur s’est produite. Even­tuel­le­ment, la commande a déjà été en­re­gis­trée par le système, même si vous n’avez pas pu charger la page de con­fir­ma­tion. Un ra­frai­chis­se­ment de la page pourrait dans ce cas conduire à une double commande du produit en question.

Ce problème est la plupart du temps résolu en quelques secondes : à moins que le site Web ne soit surchargé en per­ma­nence. Si vous voyez toujours le message d’erreur après avoir actualisé la page, vous devez d’abord supprimer le cache de votre na­vi­ga­teur. Le na­vi­ga­teur ne peut pas recharger le site, mais accède à sa mémoire interne. Une fois que le cache effacé, essayez à nouveau d’accéder au site.

Si le message d’erreur « 500 Internal Server Error » est encore affiché, vous ne pouvez rien faire d’autre que d’attendre que l’opérateur du site Internet corrige le problème. Avec une petite astuce cependant, vous pouvez toujours visionner du contenu sur cette page Web. Si vous n’avez pas la dernière version de la page (en cours d’uti­li­sa­tion), vous pouvez accéder au cache de Google. Si vous tapez la commande cache: dans la barre de recherche de Google, suivie de l’URL cor­res­pon­dante, vous pouvez accéder à la version pré­cé­dente de la page (qui fonc­tionne encore peut-être). Vous ne surfez cependant pas réel­le­ment sur la page, mais vous vous déplacez sur une copie qui se trouve sur le serveur de Google.

Si vous devez revenir en arrière, regardez la Wayback Machine des archives Internet. Vous pourrez y trouver des décennies d’anciennes versions de sites Web.

Si le site Web que vous visitez n’est pas ac­ces­sible pendant une longue période, vous pouvez également contacter le Webmaster. Cela peut ne pas être per­cep­tible du tout pour d’autres uti­li­sa­teurs : c’est pourquoi ils seront heureux de votre remarque.

Aller au menu principal