Aller au contenu principal

Erreurs 500 et Débogage

Comment diagnostiquer et corriger les erreurs 500 Internal Server Error.


Étape 1 : Vérifier le journal

L'étape la plus importante. Laravel enregistre toutes les erreurs dans :

tail -100 storage/logs/laravel.log

Cela vous montrera le message d'erreur exact, le fichier et le numéro de ligne.


Étape 2 : Activer le mode débogage (temporairement !)

APP_DEBUG=true

Rechargez la page -- vous verrez une page d'erreur détaillée avec :

  • Message d'erreur
  • Stack trace
  • Détails de la requête
  • Informations sur l'environnement
attention

Remettez APP_DEBUG=false immédiatement après le débogage !


Erreurs 500 courantes

"The stream or file could not be opened"

Cause : Problème de permissions sur le stockage.

sudo chmod -R 775 storage bootstrap/cache
sudo chown -R www-data:www-data storage bootstrap/cache

"No application encryption key has been specified"

Cause : APP_KEY manquant ou invalide.

php artisan key:generate

"SQLSTATE[HY000] Connection refused"

Cause : Échec de connexion à la base de données.

Vérifiez les paramètres de base de données dans .env et assurez-vous que MySQL est en cours d'exécution.

"Class 'X' not found"

Cause : Dépendances Composer manquantes.

composer install --no-dev --optimize-autoloader
php artisan config:clear

"View [x] not found"

Cause : Fichier de vue manquant ou corrompu.

php artisan view:clear

Si le fichier est réellement manquant, re-téléversez-le depuis le package d'origine.

"Maximum execution time exceeded"

Cause : Opération longue (sauvegarde, migration, analyse IA).

Augmentez le délai d'expiration PHP :

max_execution_time = 300

Collecte des informations de débogage pour le support

Lors du signalement d'un bogue, incluez :

php -v                          # Version PHP
php artisan --version # Version Laravel
mysql --version # Version MySQL
cat .env | grep -E "^(APP_|DB_|MAIL_|QUEUE_)" # Config (sans les mots de passe !)
tail -50 storage/logs/laravel.log # Erreurs récentes

Étapes suivantes