Correction de la Redoutée « Erreur de serveur Interne » dans WordPress (2021)
- Par Colin Newcomer
- Dernière mise à jour: Mars 26, 2021
Nous y sommes tous allés — un site qui fonctionnait parfaitement bien il y a quelques secondes décide soudainement de lancer un ajustement et crache une erreur de serveur interne. Si vous avez de la chance, l’administrateur WordPress fonctionne toujours, mais, dans certains cas, même cela peut refuser de coopérer. Dans cet article, nous expliquerons ce qu’est une erreur de serveur interne et, plus important encore, comment la corriger.
Important: Faites toujours une sauvegarde complète de votre site (même s’il ne fonctionne pas comme il se doit) avant d’apporter des modifications – mieux vaut être prudent que désolé!
Faisons craquer.
Qu’est-ce qu’une erreur de serveur Interne ?
Les erreurs internes du serveur sont gênantes pour les utilisateurs et les développeurs car elles ne fournissent aucune information sur la racine du problème — elles vous disent simplement qu’il y en a une. Imaginez si vous alliez chez le médecin et dites que vous ressentez de la douleur, mais que vous refusez de révéler où était cette douleur — il serait très difficile pour le médecin de la traiter! C’est la difficulté avec une erreur de serveur interne — il n’y a aucune indication de l’origine du problème.
( cliquez pour agrandir)
De plus, le nom « erreur de serveur interne » peut être trompeur, car, dans presque tous les cas, votre hôte (et / ou serveur) n’est pas à blâmer. Si vous jetez un coup d’œil aux spécifications HTTP, vous pouvez voir qu’une erreur de serveur interne signifie ce qui suit:
Le serveur a rencontré une condition inattendue qui l’a empêché de répondre à la demande.
Il n’y a rien de mal avec le serveur lui—même – il a simplement rencontré quelque chose qu’il ne peut pas comprendre.
Pour comprendre ce qui se passe, vous devrez faire un peu de dépannage et d’essais et erreurs. En passant systématiquement par les choses qui pourraient mal tourner, vous serez en mesure de comprendre ce qui cause le problème et, plus important encore, comment le résoudre.
Comment corriger une erreur de serveur interne WordPress 500
Nous vous recommandons d’effectuer ces étapes dans l’ordre. C’est-à-dire, commencez à l’étape #1 et parcourez la liste. Dans quelques situations, nous vous dirons de passer à l’avance en fonction des résultats de l’une des étapes. Mais, en général, allez de haut en bas!
Au-delà de cela, juste un rappel que nous vous recommandons toujours de sauvegarder votre site avant d’apporter l’une des modifications de cette liste. Si vous ne pouvez pas accéder à votre tableau de bord WordPress pour utiliser un plugin de sauvegarde, vous devriez toujours pouvoir créer une sauvegarde via votre tableau de bord d’hébergement — demandez de l’aide au support de votre hôte si vous ne savez pas comment.
Maintenant, passons à la correction…
Activer le débogage
La première étape devrait être d’essayer au moins de comprendre l’erreur — vous pourriez avoir de la chance! Selon la façon dont votre serveur gère les erreurs, ce que vous voyez peut ne pas être du tout une erreur de serveur. Au lieu de cela, il pourrait s’agir d’une erreur dans le code de votre site (généralement le code d’un plugin ou d’un thème).
Pour voir si c’est le cas, vous devrez modifier le fichier wp-config.php
dans le répertoire racine de votre site Web:
- Téléchargez le fichier (via FTP).
- Ouvrez-le (à l’aide d’un éditeur de texte).
- Recherchez
WP_DEBUG
.
Si la ligne existe déjà, remplacez false
par true
et téléchargez à nouveau le fichier sur le serveur.
Si cette ligne n’est pas dans votre fichier de configuration, créez-la en ajoutant la ligne de code suivante quelque part au-dessus de la ligne qui indique /* That's all, stop editing! Happy blogging. */
:
define( "WP_DEBUG", true );
Rechargez votre site Web et voyez si l’erreur change. Si c’est le cas et que vous voyez maintenant un message « erreur fatale » qui pointe vers une ligne de code spécifique dans un fichier spécifique, alors vous regardez une erreur de code relativement simple. En supposant que cette erreur provient d’un plugin ou d’un thème, vous devrez désactiver le produit incriminé et / ou travailler vous-même à résoudre le problème (ou demander à quelqu’un d’autre de le regarder si vous n’êtes pas en mesure de résoudre vous-même ce qui se passe).
Remarque: Une fois cette étape terminée, assurez-vous de rétablir la valeur WP_DEBUG
à false
, afin de ne pas laisser accidentellement le mode de débogage activé. Par défaut, il affichera des messages de débogage sur l’ensemble de votre site, ce qui est déroutant pour vos visiteurs et un risque potentiel de sécurité.
Vérifiez si votre tableau de bord WordPress Fonctionne
L’étape suivante consiste à tester si vous pouvez ou non accéder à votre tableau de bord WordPress backend.
Visitez l’administrateur de votre site Web à http://yoursite.com/wp-admin/
. Si cette page se charge correctement et vous permet de vous connecter, vous pouvez être raisonnablement sûr que le problème est avec un plugin ou avec votre thème. Si votre administrateur se charge, passez à la deuxième étape. Si ce n’est pas le cas, passez à la quatrième étape.
Désactiver tous les plugins
Ensuite, il est temps de tester si le problème provient d’un plugin. Il n’y a presque aucun moyen qu’un plugin puisse causer des problèmes s’il est désactivé, donc le moyen le plus simple de le tester est de désactiver tous vos plugins à la fois. Cela ne supprimera pas vos plugins, ni ne vous fera perdre aucune de vos données (qui sont toujours stockées en toute sécurité dans votre base de données). Ce qu’il fera, c’est désactiver leur code de s’exécuter, ce qui résoudra le problème si le code d’un plugin déclenche l’erreur interne du serveur.
Si votre tableau de bord WordPress fonctionne correctement, vous pouvez désactiver les plugins en procédant comme suit:
- Accédez à la zone Plugins de votre tableau de bord WordPress.
- Cochez la case pour sélectionner tous les plugins.
- Utilisez la liste déroulante Actions groupées pour les désactiver.
- Cliquez sur Appliquer.
Si vous ne parvenez pas à désactiver les plugins via votre tableau de bord pour une raison quelconque, vous pouvez également les désactiver via FTP en suivant ces instructions:
- Connectez-vous au serveur de votre site WordPress via FTP.
- Accédez au dossier
wp-content
. - Renommez le dossier
plugins
enplugins-deactivated
.
Si vous avez désactivé tous vos plugins et que votre site ne se charge toujours pas, passez à la troisième étape.
Si votre site est opérationnel, l’étape suivante consiste à déterminer quel plugin spécifique cause des problèmes.
Pour ce faire, vous devrez réactiver vos plugins un par un. Continuez à vérifier cette erreur de serveur interne après avoir activé chaque plugin. Lorsque vous avez trouvé le coupable, vous pouvez décider quoi en faire. Le meilleur plan d’action est de garder le plugin désactivé et d’en informer immédiatement l’auteur. S’il s’agit d’un plugin critique, vous devriez probablement chercher une alternative meilleure et plus stable.
Remarque: Si vous avez désactivé vos plugins via FTP, vous devrez renommer le dossier au nom plugins
d’origine avant de pouvoir commencer à réactiver les plugins.
Dans de très rares cas, l’exécution d’anciens logiciels tels que PHP 5.3 peut causer des problèmes. Avant de remplacer un plugin qui s’est avéré digne de confiance jusqu’à présent, jetez un œil à la septième étape.
Passez à un thème par défaut
Si la désactivation de vos plugins n’a pas résolu le problème, votre thème pourrait également être le coupable. Vous pouvez le vérifier en passant à un thème WordPress par défaut. Nous vous recommandons d’utiliser Twenty Twenty, qui est le dernier thème par défaut.
Si vous êtes toujours en mesure de gérer des thèmes à partir de votre tableau de bord WordPress, vous pouvez le faire en allant dans Apparence – > Thèmes. Si vous avez déjà supprimé le thème par défaut, vous pouvez le réinstaller à partir de WordPress.org .
Si vous ne pouvez pas changer de thème depuis votre tableau de bord WordPress, vous pouvez également l’effectuer via FTP en suivant ces instructions:
- Connectez-vous au serveur de votre site WordPress via FTP.
- Accédez au dossier
wp-content/themes
. - Si vous n’avez pas le thème Twenty Twenty installé, vous pouvez l’installer en téléchargeant le dossier de thème à partir duquel vous téléchargez WordPress.org (assurez-vous d’extraire le fichier ZIP avant de télécharger le dossier).
- Renommez le dossier de votre thème actuel en
-deactivated
.
Lorsque vous renommez le dossier de votre thème actif, WordPress reviendra automatiquement au thème par défaut (tant que le thème par défaut est installé).
Si le passage à Twenty Twenty résout le problème, vous pouvez réactiver tous les plugins et vous mettre au travail pour trouver le problème dans le code de votre thème.
Si votre thème provient du référentiel de thèmes officiel ou d’une boutique de thèmes indépendante, vous devez en informer l’auteur dès que possible. Si, en revanche, c’est votre propre thème, vous devrez faire appel à un développeur pour vous aider, car ces bogues peuvent souvent être très difficiles à trouver — même pour des codeurs chevronnés.
Dans de très rares cas, l’exécution d’anciens logiciels tels que PHP 5.3 peut causer des problèmes. Avant de passer des heures à essayer de trouver un bogue ou à payer des centaines de dollars à un développeur, jetez un œil à la septième étape.
Augmentez Votre limite de mémoire
Si votre site Web utilise trop de mémoire, il y aura certainement un ajustement — ce qui entraînera probablement une erreur de serveur interne 500. Dans de nombreux cas, c’est le signe d’un thème ou d’un plugin mal codé. Il peut être remédié rapidement en augmentant la limite de mémoire, mais ce n’est pas un moyen sûr de résoudre le problème et n’ira pas à la racine.
Vous pouvez essayer d’augmenter manuellement votre limite de mémoire. Cependant, gardez à l’esprit que votre serveur ou votre compte peut avoir une quantité de mémoire définie qui lui est allouée et que vous ne pourrez pas augmenter votre limite de mémoire au-delà.
Il existe plusieurs façons d’augmenter votre limite:
-
wp-config.php
fichier -
PHP.ini
fichier (si vous y avez accès – vous ne pouvez pas) -
.htaccess
fichier
Pour tous ces fichiers, vous devrez les modifier en vous connectant à votre serveur via FTP et en ajoutant un extrait de code (ou en modifiant la valeur d’un extrait de code existant si l’extrait existe déjà). Voici ce qu’il faut ajouter:
configuration wp.fichier php
Ajoutez l’extrait de code suivant au-dessus de la ligne qui dit /* That's all, stop editing! Happy blogging. */
:
define('WP_MEMORY_LIMIT', '256M');
PHP.ini
Trouve la ligne qui dit memory_limit = M
et change le nombre en 256
. Par exemple, memory_limit = 256M
.
.fichier htaccess
Ajoutez la ligne suivante:
php_value memory_limit 256M
Sinon, parlez à votre hôte pour des instructions plus spécifiques — certains seront plus qu’heureux d’augmenter votre limite de mémoire sans presque aucune agitation de votre part.
Débogage.problèmes htaccess
Si votre hôte utilise le serveur Apache (ce que font la plupart des hôtes WordPress, en particulier en ce qui concerne le budget), le fichier .htaccess
est un fichier de configuration qui permet certaines fonctionnalités relativement avancées. En l’utilisant, vous pouvez activer la compression gzip, modifier la taille maximale de téléchargement, configurer des redirections et faire toutes sortes d’autres choses pratiques. WordPress utilise également ce fichier pour gérer les permaliens de votre site, entre autres fonctionnalités.
Nous avons déjà écrit un guide sur la façon de modifier le.fichier htaccess, mais il convient de rappeler qu’il s’agit d’un domaine sensible qui nécessite de la prudence. Une faute de frappe, un espace oublié ou un devis non fermé, par exemple, pourrait facilement provoquer une erreur de serveur interne 500, paralysant votre site Web — y compris votre administrateur —.
Il existe un moyen simple de vérifier si ce fichier contient des erreurs:
- Connectez-vous à votre serveur via FTP et recherchez le fichier
.htaccess
, qui se trouve dans le dossier racine. - Sauvegardez le fichier existant en le téléchargeant sur votre ordinateur.
- Une fois que vous avez sauvegardé le fichier d’origine, supprimez la copie de
.htaccess
qui se trouve sur votre serveur.
Si votre site Web revient en ligne, le problème concerne votre fichier .htaccess
. Si vous n’avez pas de règles .htaccess
personnalisées (par exemple, redirections personnalisées), vous pouvez forcer WordPress à générer un nouveau fichier .htaccess
en allant dans les permaliens Settings-> et en cliquant sur Enregistrer (vous n’avez pas besoin de modifier les paramètres — cliquez simplement sur le bouton Enregistrer avec vos paramètres existants).
Si vous avez des règles personnalisées, vous pouvez parcourir le fichier .htaccess
ligne par ligne pour voir quand votre site tombe en panne. Une fois que vous avez trouvé la ligne incriminée, assurez-vous qu’elle ne contient aucun texte inutile (peut-être une citation non fermée ou quelque chose de similaire). Si vous ne trouvez pas le problème, vous voudrez probablement simplement supprimer la ligne. Votre site Web est complètement en panne est bien pire qu’une ligne .htaccess
manquante — demandez sur les forums si vous avez besoin de plus d’aide.
Pour gagner du temps, vous pouvez également l’utiliser gratuitement.vérificateur de syntaxe htaccess, qui peut détecter automatiquement de nombreuses erreurs / fautes de frappe de bas niveau.
Réinstallez WordPress
C’est extrêmement rare, mais vous pouvez avoir des fichiers corrompus dans le noyau WordPress. Ce n’est pas quelque chose à craindre — quelque chose a peut-être mal tourné lorsque votre serveur copiait les fichiers requis, par exemple. Le re-téléchargement des fichiers de base WordPress peut résoudre votre problème.
Voici comment réinstaller les fichiers WordPress de base:
- Téléchargez une nouvelle copie de WordPress à partir de WordPress.org .
- Extrait le fichier ZIP.
- Supprimez le dossier
wp-content
et le fichierwp-config-sample.php
. Assurez-vous également qu’il n’y a pas de fichierwp-config.php
(et supprimez-en un s’il y en a). Ce fichier ne devrait pas être là, mais il est toujours bon de revérifier! - Connectez-vous à votre serveur via FTP.
- Téléchargez les fichiers et dossiers restants dans le dossier racine.
- Lorsque votre programme FTP vous le demande, dites-lui d’écraser tous les fichiers.
Vérifiez les problèmes de version PHP
Bien que les anciennes versions de PHP ne provoquent généralement pas d’erreur de serveur interne, il peut être utile de parler à votre hôte et de lui demander de vous donner une version plus récente avant de dépenser un temps et de l’argent précieux. PHP 7 a déprécié certaines fonctionnalités précédentes — par exemple, un plugin peut utiliser une fonction qui n’est pas disponible dans les anciennes versions de PHP, etc.
Demandez à votre hôte quelle version de PHP vous utilisez. Depuis septembre 2020, PHP 5.6 ne reçoit plus de mises à jour (pas même de support de sécurité de base) — ne l’acceptez pas si votre hôte exécute votre site sur une version aussi ancienne. Vous devriez au moins avoir une variante de PHP 7 en cours d’exécution. Idéalement, vous voudrez être sur PHP 7.3 + car PHP 7.0 ne reçoit plus de mises à jour et même PHP 7.2 cessera de recevoir des correctifs de sécurité fin 2020.
Rien ne fonctionne? Testez les problèmes composés
Bien qu’il soit peu probable que vous ayez deux problèmes à la fois, cela peut arriver. Vous pouvez avoir un plugin qui cause un problème, ainsi qu’un problème .htaccess
. Dans ce cas, le problème ne sera pas résolu lorsque vous désactiverez tous les plugins et il ne sera pas résolu si vous supprimez votre fichier .htaccess
— uniquement si vous faites les deux.
Si vous avez suivi ces étapes et que vous obtenez toujours une erreur de serveur interne 500, vous devez recommencer et vous assurer de ne pas annuler les modifications. Gardez vos plugins désactivés, gardez votre thème commuté sur Twenty Twenty, etc.
Par essais et erreurs, vous pourrez découvrir la combinaison des problèmes qui causent des problèmes.
Frustré Par Le Traitement Des Erreurs? Essayez l’hébergement WordPress géré
Comme vous pouvez le voir, beaucoup de travail est consacré au dépannage des erreurs WordPress courantes telles que l’erreur de serveur interne 500. Si vous ne voulez pas avoir à faire face à ces problèmes vous-même (et que vous êtes prêt à payer un peu plus pour la commodité), déplacer votre site vers un hébergement WordPress géré pourrait être une bonne décision.
Un hôte WordPress géré de haute qualité surveillera de manière proactive ces types d’erreurs et les corrigera pour que votre site fonctionne. Par exemple, le personnel de support de Kinsta, l’un de nos hôtes WordPress gérés recommandés, reçoit automatiquement des notifications si votre site est en panne en raison d’une erreur de serveur interne. De plus, étant donné que ces hôtes offrent davantage de produits haut de gamme, leur personnel de support sera plus disposé à investir du temps dans le dépannage du problème pour vous.
Bien sûr, l’inconvénient est que vous paierez certainement un peu plus que pour un hébergement partagé bon marché. En règle générale, un hôte WordPress géré de qualité commence à environ 30 $ par mois. Pourtant, si vous appréciez la tranquillité d’esprit, ce prix peut en valoir la peine, en particulier pour un site Web d’entreprise où les temps d’arrêt signifient une perte de revenus.
Pensées finales
En raison de l’imprécision du message d’erreur du serveur interne, le résoudre peut être difficile, mais, en suivant les étapes ci-dessus, vous devriez pouvoir éventuellement comprendre ce qui ne va pas.
Si vous ne parvenez toujours pas à résoudre le problème, contactez votre hôte. Lien vers cet article et faites-leur savoir que vous avez essayé ces étapes, car ils apprécieront l’effort et seront en mesure de localiser le problème beaucoup plus rapidement!
Vous avez vu des cas extrêmes ou des choses carrément étranges se produire en relation avec cette erreur? Faites-le nous savoir dans les commentaires!