Erreur de serveur interne 500
Le serveur Web a essayé de produire la page, quelque chose s'est mal passé à l'intérieur, et il a retourné un code d'état au lieu d'une raison.
500 Internal Server Error
La raison en est dans le journal des erreurs du serveur, pas sur la page. Lisez les dernières lignes avant de changer quoi que ce soit - un 500 causé par un .htaccess mal formé et un 500 causé par un besoin fatal PHP de corrections opposées.
Les causes les plus probables d’abord.
Parcourez la liste dans l’ordre. Vérifiez chaque cause avant de modifier quoi que ce soit : les correctifs diffèrent et une supposition coûte plus cher qu’une commande.
| Cause | Comment vérifier | Correctif |
|---|---|---|
| Un .htaccess mal formé | Renommer le fichier et recharger. Si le 500 devient une page de travail ou un 404, .htaccess était la cause. | Laissez WordPress écrire un propre en ré-sauvant permalinks. Une directive d'un plugin que le serveur ne supporte pas est la raison habituelle. |
| Une erreur fatale PHP le gestionnaire ne pouvait pas rapporter | Le journal d'erreur PHP a une entrée "Fatal error" chronométrée à votre demande, tandis que le journal d'accès enregistre le 500. | Traitez-le comme un fatal : trouvez le fichier nommé, désactivez le plugin ou le thème qui le possède. |
| Mauvaises autorisations de fichier | Les répertoires qui ne sont pas 755 ou les fichiers qui ne sont pas 644, ou tout groupe- ou mondiale-écrit que le gestionnaire refuse d'exécuter. | Réinitialisez-les. Une restauration d'une sauvegarde qui n'a pas conservé les modes est la cause habituelle d'un arbre entier qui se trompe à la fois. |
| Une extension PHP est manquante après un changement de version | Le journal des erreurs nomme une fonction non définie plutôt qu'un problème de syntaxe - un appel à quelque chose que la nouvelle construction PHP ne fournit pas. | Installez l'extension ou revenez à la version PHP qui l'avait. Le changement de version PHP est quand cela apparaît. |
| Le serveur est sorti d'une ressource qu'il ne nomme pas | Le 500 est intermittent sous charge et absent lorsque le site est calme. | Regardez les limites du processus et la mémoire avant de toucher WordPress. Un 500 intermittent est une histoire de capacité, pas une histoire de code. |
Corriger l’erreur, étape par étape.
Les commandes supposent un accès à WP-CLI et au terminal. Si vous n’en disposez pas, chaque étape explique comment procéder depuis le tableau de bord ou via SFTP.
Lisez le journal des erreurs du serveur d'abord
Tout le reste de cette page est une supposition jusqu'à ce que vous ayez. L'emplacement varie; ces deux couvre la plupart des piles.
tail -n 40 /var/log/nginx/error.log tail -n 40 /var/log/apache2/error.log
Prenez .htaccess hors de la photo
Un nom vous indique si les règles de réécriture sont impliquées, sans rien supprimer.
mv .htaccess .htaccess.off
Si ça l'a réparé, avoir WordPress écrire un nouveau
Ré-sauvegarder permalinks régénère le bloc WordPress possède et dépose tout ce qui avait accumulé.
wp rewrite flush --hard
Vérifier les autorisations à travers l'arbre
Les répertoires exécutables, les fichiers non. Tout ce qui est en écriture par le monde est à la fois un risque 500 et un risque de sécurité.
find . -type d ! -perm 755 | head find . -type f ! -perm 644 | head
Confirmer que PHP est en bonne santé
Si PHP ne peut pas exécuter un fichier trivial, le problème est sous WordPress entièrement.
php -v && php -r 'echo "php ok\n";'
Ce que la plateforme prend en charge.
Il n'y a pas de .htaccess à malform - nginx possède les réécritures, et elles sont appliquées à partir de la configuration plutôt que d'un fichier à l'intérieur de la racine web auquel n'importe quel plugin peut s'ajouter. Les versions PHP sont commutées par site avec l'extension qui va avec, de sorte que la version de l'extension manquante de cette erreur ne survit pas au commutateur, et le journal des erreurs est un clic du tableau de bord plutôt qu'un chemin que vous devez deviner.
Questions fréquentes.
Pourquoi la page ne dit pas ce qui s'est mal passé ?
Un 500 est-il différent d'un écran blanc ?
Tout fonctionne sauf une page. Peut-il s’agir d’une erreur 500 ?
Devrais-je simplement augmenter la limite de mémoire et voir ?
Si le problème vient d’ailleurs.
Ces erreurs peuvent se présenter de façon similaire dans le navigateur.