L’erreur redoutée 500 Internal Server. Elle semble toujours venir au moment le plus inopportun et vous vous retrouvez soudain à faire des pieds et des mains pour trouver comment remettre votre site en ligne. Croyez-nous, nous sommes tous passés par là.

D’autres erreurs qui se comportent de la même manière que celles que vous avez pu voir incluent l’effrayante erreur lors de la connexion à la base de données et l’écran blanc de la mort. Mais à partir du moment où votre site tombe en panne, vous perdez des visiteurs et des clients. Sans oublier que c’est tout simplement mauvais pour votre marque.

Aujourd’hui, nous allons plonger dans l’erreur 500 Internal Server et vous guider à travers certains moyens de remettre votre site en ligne rapidement. Lisez plus bas ce qui cause cette erreur et ce que vous pouvez faire pour l’éviter à l’avenir.

Added:

Consultez notre guide ultime pour résoudre l’erreur 500 Internal Server Error

Qu’est-ce qu’une erreur 500 Internal Server ?

L’Internet Engineering Task Force (IETF) définit l’erreur 500 Internal Server comme suit :

Le code d’état 500 (Internal Server Error) indique que le serveur a rencontré une condition inattendue qui l’a empêché de répondre à la requête.

Lorsque vous visitez un site web, votre navigateur envoie une requête au serveur sur lequel le site est hébergé. Le serveur prend cette requête, la traite et renvoie les ressources demandées (PHP, HTML, CSS, etc.) avec un en-tête HTTP. Le HTTP comprend également ce qu’ils appellent un code d’état HTTP. Un code d’état est un moyen de vous informer de l’état de la demande. Il peut s’agir d’un code d’état 200 qui signifie « Tout va bien » ou d’un code d’état 500 qui signifie que quelque chose a mal tourné.

Il y a beaucoup de différents types codes d’erreur d’état 500 (500, 501, 502, 503, 504, etc.) et ils signifient tous quelque chose de différent. Dans ce cas, une 500 Internal Server indique que le serveur a rencontré une condition inattendue qui l’a empêché de répondre à la demande (RFC 7231, section 6.6.1).

Code d’erreur Erreur HTTP 500
Type d’erreur Code d’erreur
Variations de l’erreur « 500 Internal Server Error »
« HTTP 500 »
« Erreur de serveur interne »
« HTTP 500 – Erreur de serveur interne »
« Erreur 500 »
« Erreur HTTP 500 »
« 500 – Erreur de serveur interne »
« 500 Internal Server Error. Désolé, quelque chose s’est mal passé. »
« 500. C’est une erreur. Il y a eu une erreur. Veuillez réessayer plus tard. C’est tout ce que nous savons. »
« Le site web ne peut pas afficher la page – HTTP 500. »
« Est actuellement incapable de traiter cette requête. ERREUR HTTP 500. »
Causes de l’erreur Cache du navigateur.
Fichier .htaccess corrompu et limite de mémoire PHP.
Problèmes avec des extensions et des thèmes tiers.
Fichiers corrompus dans votre installation WordPress.
Problèmes avec votre serveur de base de données.

Variations des erreurs 500 Internal Server

Erreur 500 Internal Server dans WordPress
Erreur 500 Internal Server dans WordPress

En raison des différents serveurs web, systèmes d’exploitation et navigateurs, une erreur 500 Internal Server peut se présenter de différentes manières. Mais elles communiquent toutes la même chose. Vous trouverez ci-dessous quelques-unes des nombreuses variantes que vous pouvez voir sur le web :

  • “500 Internal Server Error”
  • “HTTP 500”
  • “Internal Server Error”
  • “HTTP 500 – Internal Server Error”
  • “500 Error”
  • « HTTP Error 500 »
  • “500 – Internal Server Error”
  • “500 Internal Server Error. Sorry something went wrong.”
  • “500. That’s an error. There was an error. Please try again later. That’s all we know.”
  • “The website cannot display the page – HTTP 500.”
  • « Is currently unable to handle this request. HTTP ERROR 500. »

Vous pourriez également voir ce message l’accompagnant :

Le serveur a rencontré une erreur interne ou une mauvaise configuration et n’a pas été en mesure de compléter votre demande. Veuillez contacter l’administrateur du serveur, [email protected] et les informer de l’heure à laquelle l’erreur s’est produite, et de tout ce que vous avez pu faire qui a pu causer l’erreur. Plus d’informations sur cette erreur peuvent être disponibles dans le journal des erreurs du serveur.

Erreur interne du serveur
Erreur interne du serveur

D’autres fois, vous pourriez simplement voir un écran blanc blanc. Lorsqu’il s’agit de 500 erreurs de serveur interne, c’est en fait assez courant dans des navigateurs comme Firefox et Safari.

Erreur 500 internal server dans Firefox
Erreur 500 internal server dans Firefox

Les grandes marques peuvent même avoir leurs propres messages d’erreur 500 Internal Server personnalisées, comme celle d’Airbnb.

Airbnb 500 internal server error
Airbnb 500 internal server error

Voici un autre exemple d’erreur 500 créative des gens de Readme.

Erreur 500 chez readme
Erreur 500 chez readme

Même le puissant YouTube n’est pas à l’abri des erreurs 500 de serveur interne.

Erreur 500 chez YouTube
Erreur 500 chez YouTube

Si c’est un serveur IIS 7.0 (Windows) ou supérieur, ils ont des codes d’état HTTP supplémentaires pour indiquer plus précisément la cause de l’erreur 500 :

  • 500.0 – Module or ISAPI error occurred.
  • 500.11 – Application is shutting down on the web server.
  • 500.12 – Application is busy restarting on the web server.
  • 500.13 – Web server is too busy.
  • 500.15 – Direct requests for global.asax are not allowed.
  • 500.19 – Configuration data is invalid.
  • 500.21 – Module not recognized.
  • 500.22 – An ASP.NET httpModules configuration does not apply in Managed Pipeline mode.
  • 500.23 – An ASP.NET httpHandlers configuration does not apply in Managed Pipeline mode.
  • 500.24 – An ASP.NET impersonation configuration does not apply in Managed Pipeline mode.
  • 500.50 – A rewrite error occurred during RQ_BEGIN_REQUEST notification handling. A configuration or inbound rule execution error occurred.
  • 500.51 – A rewrite error occurred during GL_PRE_BEGIN_REQUEST notification handling. A global configuration or global rule execution error occurred.
  • 500.52 – A rewrite error occurred during RQ_SEND_RESPONSE notification handling. An outbound rule execution occurred.
  • 500.53 – A rewrite error occurred during RQ_RELEASE_REQUEST_STATE notification handling. An outbound rule execution error occurred. The rule is configured to be executed before the output user cache gets updated.
  • 500.100 – Internal ASP error.

Impact des erreurs 500 sur le SEO

Contrairement aux erreurs 503, qui sont utilisées pour le mode de maintenance WordPress et disent à Google de vérifier plus tard, une erreur 500 peut avoir un impact négatif sur le référencement si elle n’est pas corrigée immédiatement.

Si votre site n’est en panne que pendant 10 minutes et qu’il est constamment parcouru à plusieurs reprises, le robot d’exploration fera simplement sortir la page du cache. Ou encore, Google n’a peut-être même pas la possibilité de réessayer avant qu’elle ne soit sauvegardée. Dans ce scénario, tout va bien.

Toutefois, si le site est en panne pendant une période prolongée, disons 6 heures et plus, Google pourrait considérer l’erreur 500 comme un problème au niveau du site qui doit être réglé. Cela pourrait avoir un impact sur votre classement. Si vous craignez de répéter les erreurs 500, vous devriez comprendre pourquoi elles se produisent au départ. Certaines des solutions ci-dessous peuvent vous aider.

Comment réparer l’erreur 500 Internal Server ?

Où devriez-vous commencer le dépannage lorsque vous voyez une erreur 500 Internal Server sur votre site ? Parfois, vous ne savez même pas par où commencer. Généralement les erreurs 500 sont sur le serveur lui-même, mais d’après notre expérience, ces erreurs proviennent de deux choses, la première est l’erreur de l’utilisateur (problème côté client), et la seconde est qu’il y a un problème avec le serveur. Nous allons donc plonger dans les deux cas.

Vérifiez ces causes communes et les moyens de réparer l’erreur 500 Internal Server et de le remettre en service en un rien de temps.

1. Essayez de recharger la page

Cela peut sembler un peu évident pour certains, mais l’une des choses les plus simples et les premières que vous devriez essayer lorsque vous rencontrez une erreur 500 Internal Server est simplement d’attendre une minute ou deux et de recharger la page (F5 ou Ctrl + F5). Il se peut que l’hébergeur ou le serveur soit simplement surchargé et que le site revienne tout de suite. Pendant que vous attendez, vous pouvez aussi essayer rapidement un autre navigateur pour éliminer ce problème.

Une autre chose que vous pouvez faire est de coller le site Web dans downforeveryoneorjustme.com. Ce site Web vous indiquera si le site est en panne ou s’il s’agit d’un problème de votre côté. Un outil comme celui-ci vérifie le code d’état HTTP renvoyé par le serveur. S’il s’agit d’autre chose qu’un 200 « Everything is OK » alors il retournera une indication disant que votre site est « down ».

Down For Everyone Or Just Me
Down For Everyone Or Just Me

Nous avons également remarqué que cela peut parfois se produire immédiatement après la mise à jour d’une extension ou d’un thème sur votre site. Généralement, il s’agit d’hôtes qui ne sont pas correctement configurés. Ce qui se passe, c’est qu’ils subissent un temps d’arrêt temporaire juste après. Cependant, les choses se résolvent généralement en quelques secondes et donc rafraîchir est tout ce que vous avez besoin de faire.

2. Effacer la mémoire cache de votre navigateur

La suppression de la mémoire cache de votre navigateur est toujours une autre bonne étape de dépannage avant de plonger dans un débogage plus profond de votre site. Vous trouverez ci-dessous des instructions sur la façon de vider le cache dans les différents navigateurs :

3. Vérifier les logs de votre serveur

Vous devriez également profiter de vos logs d’erreurs. Si vous êtes un client Kinsta, vous pouvez facilement voir les erreurs dans le visualiseur de logs dans le tableau de bord MyKinsta. Cela peut vous aider à résoudre rapidement le problème, surtout s’il résulte d’une extension sur votre site.

Vérifier les logs d'erreurs pour l’erreur 500 Internal Serveur
Vérifier les logs d’erreurs pour l’erreur 500 Internal Serveur

Si votre hébergeur ne dispose pas d’un outil de journalisation, vous pouvez également activer le mode de débogage de WordPress en ajoutant le code suivant à votre fichier wp-config.php pour activer la journalisation :

define( 'WP_DEBUG', true );
define( 'WP_DEBUG_LOG', true );
define( 'WP_DEBUG_DISPLAY', false );

Les logs sont généralement situés dans le répertoire /wp-content. D’autres, comme ici chez Kinsta, peuvent avoir un répertoire dédié appelé « logs ».

Dossier des logs d'erreurs WordPress (SFTP)
Dossier des logs d’erreurs WordPress (SFTP)

Vous pouvez aussi vérifier les fichiers logs dans Apache et Nginx, qui sont généralement situés ici :

  • Apache : /var/log/apache2/error.log
  • Nginx : /var/log/nginx/error.log

Si vous êtes un client Kinsta, vous pouvez également profiter de notre outil d’analyse pour obtenir un aperçu du nombre total d’erreurs 500 et voir à quelle fréquence et à quel moment elles se produisent. Cela peut vous aider à dépanner s’il s’agit d’un problème continu ou peut-être quelque chose qui s’est résolu tout seul.

Analyse de la répartition des réponse 500
Analyse de la répartition des réponse 500

Si l’erreur 500 s’affiche à cause d’une erreur PHP fatale, vous pouvez également essayer d’activer le rapport d’erreur PHP. Il suffit d’ajouter le code suivant au fichier contenant l’erreur. Généralement, vous pouvez réduire le fichier dans l’onglet console de Google Chrome DevTools.

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

Et vous devrez peut-être aussi modifier votre fichier php.ini avec ce qui suit :

display_errors = on

4. Erreur lors de l’établissement de la connexion à la base de donnée

Les erreurs 500 Internal Server peuvent également se produire à partir d’une erreur de connexion à la base de données. En fonction de votre navigateur, vous pouvez voir différentes erreurs. Mais les deux généreront un code d’état http 500 quel que soit le contenu de vos logs serveur.

Voici un exemple de ce à quoi ressemble un message d’erreur lors de l’établissement d’une connexion à une base de données. La page entière est vide parce qu’aucune donnée ne peut être récupérée pour afficher la page, car la connexion ne fonctionne pas correctement. Non seulement cela brise le l’interface publique de votre site, mais cela vous empêchera aussi d’accéder à votre tableau de bord WordPress.

Exemple d'erreur lors de la connexion à la base de données
Exemple d’erreur lors de la connexion à la base de données

Alors pourquoi cela se produit-il exactement ? Eh bien, voici quelques raisons courantes ci-dessous.

  • Le problème le plus courant est que les informations d’identification de votre base de données sont incorrectes. Votre site utilise des informations de connexion séparées pour se connecter à sa base de données MySQL.
  • Votre base de données WordPress est corrompue. Avec tant de pièces mobiles avec des thèmes, des extensions et des utilisateurs qui les suppriment et les installent constamment, les bases de données sont parfois corrompues. Cela peut être dû à une table manquante ou corrompue individuellement, ou peut-être que certaines informations ont été supprimées par accident.
  • Vous pouvez avoir des fichiers corrompus dans votre installation WordPress. Cela peut même se produire parfois à cause de pirates informatiques.
  • Problèmes avec votre serveur de base de données. Un certain nombre de choses peuvent être erronées du côté des hébergeurs web, comme le fait que la base de données soit surchargée à cause d’un pic de trafic ou qu’elle ne réponde pas à cause d’un trop grand nombre de connexions simultanées. C’est en fait assez commun avec les hébergeurs mutualisés car ils utilisent les mêmes ressources pour un grand nombre d’utilisateurs sur les mêmes serveurs.

Consultez notre article détaillé sur la façon de corriger l’erreur lors de la connexion à une base de données.

5. Vérifiez vos extensions et votre thème

Les extensions et thèmes tiers peuvent facilement causer des erreurs 500 Internal Server. Nous avons vu tous les types de causes ici chez Kinsta, depuis les extensions de diaporama jusqu’aux extensions de publicités. Souvent, vous devriez voir l’erreur immédiatement après l’installation de quelque chose de nouveau ou l’exécution d’une mise à jour. C’est l’une des raisons pour lesquelles nous recommandons toujours d’utiliser un environnement de staging pour les mises à jour ou du moins exécuter les mises à jour une par une. Sinon, si vous rencontrez une erreur 500 Internal Server, vous serez soudainement en train de faire des pieds et des mains pour déterminer laquelle est la cause de l’erreur.

Vous pouvez résoudre ce problème de plusieurs façons en désactivant toutes vos extensions. Rappelez-vous que vous ne perdrez aucune donnée si vous désactivez simplement une extension. Si vous pouvez toujours accéder à votre administration, un moyen rapide de le faire est de vous rendre sur « Extensions » et de sélectionner « Désactiver » dans le menu des actions groupées. Ceci désactivera toutes vos extensions.

Désactiver toutes les extensions
Désactiver toutes les extensions

Si cela corrige le problème, vous devrez trouver la coupable. Commencez à les activer une par une, en rechargeant le site après chaque activation. Quand vous voyez le retour de l’erreur 500, vous avez trouvé l’extension qui se comporte mal. Vous pouvez alors contacter le développeur de l’extension pour obtenir de l’aide ou poster un ticket de support dans le répertoire WordPress.

Si vous ne pouvez pas vous connecter à l’administration de WordPress, vous pouvez vous connecter par FTP à votre serveur et renommer votre répertoire d’extensions en quelque chose comme plugins_old. Puis vérifiez à nouveau votre site. Si cela fonctionne, vous devrez tester chaque extension une par une. Renommez votre dossier d’extensions en « plugins » puis renommez chaque dossier d’extension à l’intérieur, une par une, jusqu’à ce que vous trouviez la coupable. Vous pouvez aussi essayer de reproduire cela d’abord sur un site de staging.

Renommer le dossier d’extension
Renommer le dossier d’extension

Toujours s’assurer que vos extensions, thèmes et le cœur de WordPress sont à jour. Et vérifiez que vous utilisez une version supportée de PHP. S’il s’avère qu’il y a un conflit avec un mauvais code dans une extension, vous devrez peut-être faire appel à un développeur WordPress pour résoudre le problème.

6. Réinstaller le Cœur de WordPres

Parfois, les fichiers de base WordPress peuvent être corrompus, en particulier sur les sites plus anciens. Il est en fait assez facile de ne recharger que le cœur de WordPress sans impact sur vos extensions ou thèmes. Nous avons un guide détaillé avec 5 façons différentes de réinstaller WordPress. Et bien sûr, assurez-vous de prendre une copie de sauvegarde avant de procéder. Passez à l’une des sections ci-dessous :

7. Vérifiez les erreurs de permissions

Une erreur de permissions avec un fichier ou un dossier sur votre serveur peut également provoquer une erreur 500 Internal Server. Voici quelques recommandations typiques pour les permissions lorsqu’il s’agit des permissions de fichiers et de dossiers dans WordPress :

  • Tous les fichiers doivent être 644 (-rw-r-r-r-r-) ou 640.
  • Tous les dossiers doivent être 755 (drwxr-xr-xr-xr-x) ou 750.
  • Aucun dossier ne devrait jamais être en 777, même les dossiers de téléchargement.
  • Avancé : wp-config.php pourrait aussi être réglé à 440 ou 400 pour empêcher les autres utilisateurs du serveur de le lire.

Voir l’article du Codex WordPress sur la modification des permissions de fichiers pour une explication plus approfondie.

Vous pouvez facilement voir les permissions de vos fichiers avec un client FTP (voir ci-dessous). Vous pouvez également contacter votre équipe de support hébergeur et leur demander d’obtenir rapidement les permissions sur vos dossiers et fichiers pour s’assurer qu’ils sont correctement configurés.

Autorisations de fichiers SFTP
Autorisations de fichiers SFTP

8. Augmenter la limite de mémoire PHP

Une erreur 500 Internal Server peut également être causée par l’épuisement de la limite de mémoire PHP sur votre serveur. Vous pourriez essayer d’augmenter la limite. Suivez les instructions ci-dessous pour modifier cette limite dans cPanel, Apache, votre fichier php.ini et le fichier wp-config.php.

Augmenter la limite de mémoire PHP dans cPanel

Si vous utilisez sur un hébergeur qui utilise cPanel, vous pouvez facilement changer cela à partir de l’interface utilisateur. Sous Software, cliquez sur « Select PHP Version »

Sélectionner la version PHP
Sélectionner la version PHP

Cliquez sur  » Switch to PHP Options ».

Passer aux options PHP
Passer aux options PHP

Vous pouvez ensuite cliquer sur l’attribut memory_limit et modifier sa valeur. Cliquez ensuite sur « Save ».

Augmenter la limite de mémoire PHP dans cPanel
Augmenter la limite de mémoire PHP dans cPanel

Augmenter la limite de mémoire PHP dans Apache

Le fichier .htaccess est un fichier caché spécial qui contient divers paramètres que vous pouvez utiliser pour modifier le comportement du serveur, jusqu’à un niveau spécifique de répertoire.  Connectez-vous d’abord à votre site via FTP ou SSH, jetez un coup d’oeil à votre répertoire racine et voyez s’il y a un fichier .htaccess.

Fichier .htaccess
Fichier .htaccess

Si c’est le cas, vous pouvez modifier ce fichier pour ajouter le code nécessaire pour augmenter la limite de mémoire PHP. Il est très probablement réglé à 64M ou moins, vous pouvez essayer d’augmenter cette valeur.

php_value memory_limit 128M

Augmenter la limite de mémoire PHP dans le fichier php.ini

Si ce qui précède ne fonctionne pas pour vous, vous pouvez essayer d’éditer votre fichier php.ini file. Connectez-vous à votre site via FTP ou SSH, allez dans le répertoire racine de votre site et ouvrez ou créez un fichier php.ini.

Fichier php.ini
Fichier php.ini

Si le fichier était déjà là, recherchez les trois paramètres et modifiez-les si nécessaire. Si vous venez de créer le fichier, ou si les paramètres sont introuvables, vous pouvez coller le code ci-dessous. Vous pouvez bien sûr modifier les valeurs pour répondre à vos besoins.

memory_limit = 128M

Certains hébergeurs mutualisés peuvent également exiger que vous ajoutiez la directive su PHP dans votre fichier .htaccess pour que les paramètres du fichier php.ini ci-dessus fonctionnent. Pour ce faire, éditez votre fichier .htaccess également situé à la racine de votre site, et ajoutez le code suivant vers le haut du fichier :

<IfModule mod_suphp.c> 
suPHP_ConfigPath /home/yourusername/public_html
</IfModule>

Si ce qui précède n’a pas fonctionné pour vous, il se peut que votre hébergeur ait verrouillé les paramètres globaux et qu’il soit configuré pour utiliser les fichiers .user.ini Pour modifier votre fichier .user.ini, connectez-vous à votre site via FTP ou SSH, allez dans le répertoire racine de votre site et ouvrez ou créez un fichier .user.ini Vous pouvez ensuite coller le code suivant :

memory_limit = 128M

Augmenter la limite de mémoire PHP dans wp-config.ph

La dernière option n’est pas celle dont nous sommes fans, mais si tout le reste échoue, vous pouvez essayer. Tout d’abord, connectez-vous à votre site via FTP ou SSH, et localisez votre fichier wp-config.php, qui se trouve généralement à la racine de votre site.

fichier wp-config.php
fichier wp-config.php

Ajoutez le code suivant en haut de votre fichier wp-config.php :

define('WP_MEMORY_LIMIT', '128M');

Vous pouvez également demander à votre hébergeur si vous rencontrez des problèmes de limite de mémoire. Nous utilisons l’outil Kinsta APM et d’autres méthodes de dépannage ici chez Kinsta pour aider les clients à réduire le nombre d’extensions, de requêtes ou de scripts qui pourraient épuiser la limite. Vous pouvez également utiliser votre clé New Relic personnalisée depuis votre propre licence.

Débogage avec New Relic
Débogage avec New Relic

9. Corrigez votre fichier .htaccess

Kinsta n’utilise que Nginx, mais si vous utilisez un hébergeur qui exécute Apache, il se peut très bien que votre fichier .htaccess ait un problème ou soit corrompu. Suivez les étapes ci-dessous pour en recréer un nouveau à partir de zéro.

Tout d’abord, connectez-vous à votre site via FTP ou SSH, et renommez votre fichier .htaccess en .htaccess_old.

Renommer le fichier .htaccess
Renommer le fichier .htaccess

Normalement, pour recréer ce fichier, vous pouvez simplement réenregistrer vos permaliens dans WordPress. Cependant, si vous êtes au milieu d’une erreur 500 Internal Server, vous ne pouvez probablement pas accéder à votre administration WordPress, donc ce n’est pas une option. Par conséquent, vous pouvez créer un nouveau fichier .htaccess et saisir le contenu suivant. Ensuite, téléversez-le sur votre serveur.

# BEGIN WordPress
<IfModule mod_rewrite.c>
RewriteEngine On
RewriteBase /
RewriteRule ^index\.php$ - [L]
RewriteCond %{REQUEST_FILENAME} !-f
RewriteCond %{REQUEST_FILENAME} !-d
RewriteRule . /index.php [L]
</IfModule>
# END WordPress

Voir le Codex WordPress pour d’autres exemples, comme un fichier .htaccess par défaut pour le multisite.

10. Corrigez les erreurs de codage ou de syntaxe dans votre script CGI/Perl

Les erreurs 500 causées par des erreurs dans CGI et Perl sont beaucoup moins courantes qu’auparavant. Bien que cela vaille la peine d’être mentionné, surtout pour ceux qui utilisent cPanel où de nombreux scripts CGI en un clic sont encore utilisés. Comme le dit AEM sur Stack Overflow :

CGI a été remplacé par une grande variété de technologies de programmation web, y compris PHP, diverses extensions Apache comme mod_perl, Java de différentes saveurs et frameworks dont Java EE, Struts, Spring, etc, des frameworks basés sur Python comme Django, Ruby on Rails et beaucoup d’autres frameworks Ruby, et diverses technologies Microsoft.

Voici quelques conseils pour travailler avec les scripts CGI :

  • Lorsque vous modifiez, utilisez toujours un éditeur de texte brut, tel que Atom, Sublime, ou Notepad++. Ceci permet de s’assurer qu’ils restent au format ASCII.
  • Assurez-vous que les permissions correctes de chmod 755 sont utilisées sur les scripts et répertoires CGI.
  • Téléversez vos scripts CGI en mode ASCII (que vous pouvez sélectionner dans votre éditeur FTP) dans le répertoire cgi-bin de votre serveur.
  • Confirmez que les modules Perl dont vous avez besoin pour votre script sont installés et pris en charge.

11. Vérifiez les problèmes de serveur auprès de votre hébergeur

Enfin, parce que les erreurs 500 Internal Server peuvent également se produire à cause du Timeout PHP ou d’erreurs PHP fatales avec des extensions tierces, vous pouvez toujours vérifier avec votre hébergeur. Parfois, ces erreurs peuvent être difficiles à dépanner sans l’aide d’un expert. Voici quelques exemples courants d’erreurs qui déclenchent les codes d’état HTTP 500 sur le serveur et qui peuvent vous faire vous gratter la tête.

PHP message: PHP Fatal error: Uncaught Error: Call to undefined function mysql_error()...
PHP message: PHP Fatal error: Uncaught Error: Cannot use object of type WP_Error as array in /www/folder/web/shared/content/plugins/plugin/functions.php:525

Nous surveillons tous les sites de nos clients ici chez Kinsta et sommes automatiquement avertis lorsque ces types d’erreurs se produisent. Cela nous permet d’être proactifs et de commencer à régler le problème immédiatement. Nous utilisons également des hôtes gérés par LXD et des conteneurs logiciels LXC orchestrés pour chaque site. Cela signifie que chaque site est hébergé dans son propre conteneur isolé, qui possède toutes les ressources logicielles nécessaires à son fonctionnement (Linux, Nginx, PHP, MySQL). Les ressources sont 100% privées et ne sont partagées avec personne d’autre ou même entre vos propres sites.

Les Timeouts PHP peuvent aussi provenir du manque de Workers PHP, bien que ceux-ci causent généralement des erreurs 504, et non des erreurs 500. Ceux-ci déterminent le nombre de demandes simultanées que votre site peut traiter à un moment donné. Pour le dire simplement, chaque requête non mise en cache pour votre site Web est traitée par un worker PHP.

Quand les workers PHP sont déjà occupés sur un site, ils commencent à constituer une file d’attente. Une fois que vous avez atteint votre limite de workers PHP, la file d’attente commence à repousser les demandes plus anciennes, ce qui pourrait entraîner des erreurs 500 ou demandes incomplètes. Lisez notre article de fond sur les Workers PHP.

Surveillez votre site

Si vous vous inquiétez de ce type d’erreurs sur votre site à l’avenir, vous pouvez également utiliser un outil comme updown.io pour surveiller et vous avertir immédiatement si elles se produisent. Il envoie périodiquement une requête HTTP HEAD à l’URL de votre choix. Vous pouvez simplement utiliser votre page d’accueil. L’outil vous permet de régler les fréquences de contrôle de :

  • 15 secondes
  • 30 secondes
  • 1 minute
  • 2 minutes
  • 5 minutes
  • 10 minutes

Il vous enverra un courriel si et quand votre site tombe en panne. Voici un exemple ci-dessous.

Notification par courriel d’erreurs 500
Notification par courriel d’erreurs 500

Cela peut être particulièrement utile si vous essayez de déboguer une extension défectueuse ou si vous êtes sur un hébergement mutualisé, qui ont tendance à sur-peupler leurs serveurs. Cela peut vous donner une preuve de la fréquence à laquelle votre site peut être en panne (même au milieu de la nuit).

C’est pourquoi nous recommandons toujours d’opter pour un hébergeur WordPress infogéré (comme Kinsta) avec des applications et des bases de données.

Assurez-vous de consulter notre article qui explore les 9 principales raisons de choisir un hébergement WordPress infogéré.

Résumé

Les erreurs 500 Internal Server sont toujours frustrantes, mais nous espérons que vous connaissez maintenant quelques autres façons de les dépanner afin de remettre rapidement votre site en marche. Rappelez-vous, ces types d’erreurs sont généralement causés par des extensions tierces, des erreurs PHP fatales, des problèmes de connexion à la base de données, des problèmes avec votre fichier .htaccess ou les limites de mémoire PHP, et parfois des timeouts PHP.

Nous avons raté quelque chose ? Peut-être avez-vous un autre conseil sur le dépannage des erreurs 500 Internal Server. Si oui, faites-le nous savoir ci-dessous dans les commentaires.

Brian Jackson

Brian a une grande passion pour WordPress, l'utilise depuis plus de dix ans et développe même quelques plugins de qualité. Brian aime les blogs, les films et les randonnées. Connectez avec Brian sur Twitter.