Qu'est-ce qu'une erreur 500 ?
Une erreur 500 signifie que quelque chose s'est mal passé sur le serveur, sans que celui-ci puisse préciser quoi. C'est un message générique du type « quelque chose est cassé », qui demande une investigation.
Causes fréquentes et solutions
1. Erreurs de syntaxe PHP
Cause
Point-virgule ou accolade manquants, ou faute de frappe dans le code PHP.
Solution
Relevez le fichier et le numéro de ligne dans les journaux d'erreurs. Erreurs courantes : ; manquant, { non fermée, ou $ dans une chaîne.
2. Version de PHP incompatible
Cause
Le code utilise des fonctionnalités absentes de la version de PHP actuelle, ou des fonctions obsolètes.
Solution
Vérifiez la version de PHP requise. Dans EGPNL, ouvrez PHP puis Version de PHP et basculez sur une version compatible.
3. Problèmes de permissions de fichiers
Cause
Les fichiers PHP ont de mauvaises permissions (trop restrictives, ou 777).
Solution
Mettez les dossiers en 755 et les fichiers en 644. N'utilisez jamais 777.
# Fix permissions via SSH
find /path/to/site -type d -exec chmod 755 {} \;
find /path/to/site -type f -exec chmod 644 {} \;
4. Extensions PHP manquantes
Cause
L'application a besoin d'une extension PHP qui n'est pas activée.
Solution
Dans EGPNL, ouvrez PHP puis Extensions PHP et activez l'extension requise (par exemple mysqli, gd ou curl).
5. Limite de mémoire dépassée
Cause
Le script PHP consomme plus de mémoire qu'il n'est autorisé.
Solution
Augmentez la limite de mémoire dans EGPNL, sous PHP puis Réglages PHP, ou ajoutez ceci à votre code :
// In PHP file
ini_set('memory_limit', '256M');
// Or in php.ini
memory_limit = 256M
6. Fichier .htaccess corrompu (Nginx)
Cause
Certaines applications créent des fichiers .htaccess, mais EGPHP fonctionne sous Nginx, qui ne les prend pas en charge.
Solution
Les règles .htaccess doivent être converties au format Nginx. Les options de configuration se trouvent dans EGPNL, sous Nginx.
7. Échec de la connexion à la base de données
Cause
Identifiants de base de données erronés, ou base inexistante.
Solution
Vérifiez les identifiants dans votre fichier de configuration (wp-config.php pour WordPress). Assurez-vous que la base existe bien dans EGPNL.
8. Conflit d'extension ou de thème (WordPress)
Cause
Une extension ou un thème comporte un bug, ou entre en conflit avec un autre.
Solution
Renommez le dossier des extensions en plugins_old depuis le gestionnaire de fichiers. Si le site se charge, remettez le nom d'origine et réactivez les extensions une par une pour trouver la coupable.
Solutions propres à WordPress
Activer le mode débogage de WordPress
Modifiez wp-config.php et ajoutez ou changez :
define('WP_DEBUG', true);
define('WP_DEBUG_LOG', true);
define('WP_DEBUG_DISPLAY', false);
Consultez ensuite wp-content/debug.log pour y repérer les erreurs.
Augmenter la mémoire de WordPress
// Add to wp-config.php
define('WP_MEMORY_LIMIT', '256M');
define('WP_MAX_MEMORY_LIMIT', '512M');
Remplacer les fichiers du cœur corrompus
- Téléchargez une version neuve de WordPress depuis wordpress.org
- Supprimez les dossiers wp-admin et wp-includes (mais PAS wp-content)
- Téléversez les nouveaux wp-admin et wp-includes
- Ne remplacez wp-config.php que s'il est corrompu
Consulter les journaux d'erreurs
Pour diagnostiquer une erreur 500, les journaux d'erreurs sont votre meilleur allié :
- Ouvrez EGPNL puis Journaux
- Sélectionnez Journaux d'erreurs
- Repérez les entrées récentes (les plus récentes sont en bas)
- Notez le chemin du fichier et le numéro de ligne
Messages de journal courants
PHP Parse error— erreur de syntaxe dans un fichier PHPPHP Fatal error— erreur critique qui interrompt l'exécutionAllowed memory size exhausted— la limite de mémoire est atteinteCall to undefined function— fonction ou extension manquante
Toujours une erreur 500 ?
- Copiez le message d'erreur exact depuis les journaux
- Notez quand l'erreur a commencé (après une mise à jour ? une nouvelle extension ?)
- Essayez de restaurer une sauvegarde si vous en avez une
- Contactez le support en détaillant l'erreur
Cet article vous a-t-il été utile ?