Problèmes Courants et Solutions
Un guide complet des problèmes les plus courants et de leurs solutions.
Problèmes d'installation
Page blanche après l'installation
Cause : Généralement un problème de permissions de fichiers.
Solution :
# Vérifier le journal Laravel
tail -50 storage/logs/laravel.log
# Corriger les permissions
sudo chmod -R 775 storage bootstrap/cache
sudo chown -R www-data:www-data storage bootstrap/cache
Erreurs "Class Not Found"
Cause : Dépendances Composer non installées ou autoloader non généré.
Solution :
composer install --no-dev --optimize-autoloader
php artisan config:clear
L'installateur affiche "Déjà installé"
Cause : Le fichier storage/installed.lock existe.
Solution : Si vous devez relancer l'installateur :
rm storage/installed.lock
Puis visitez à nouveau /install.
CSS/JS ne se charge pas (page sans style)
Cause : Lien symbolique de stockage manquant ou problème de chemin d'accès aux ressources.
Solution :
php artisan storage:link
php artisan config:clear
php artisan view:clear
Vérifiez également que votre APP_URL dans .env correspond à votre domaine réel (y compris https://).
Problèmes de base de données
"SQLSTATE[HY000] [2002] Connection Refused"
Cause : MySQL n'est pas en cours d'exécution ou l'hôte est incorrect.
Solution :
- Vérifiez que MySQL fonctionne :
sudo systemctl status mysql - Essayez
127.0.0.1plutôt quelocalhostdans.env - Vérifiez le port (par défaut : 3306)
"SQLSTATE[HY000] [1045] Access Denied"
Cause : Identifiants de base de données incorrects.
Solution :
- Vérifiez le nom d'utilisateur/mot de passe dans
.env - Testez la connexion :
mysql -u your_user -p your_database - Réaccordez les permissions :
GRANT ALL PRIVILEGES ON feedbackpulse.* TO 'your_user'@'localhost';
FLUSH PRIVILEGES;
Emojis affichés comme ????
Cause : Le jeu de caractères de la base de données est utf8 au lieu de utf8mb4.
Solution :
ALTER DATABASE feedbackpulse CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci;
Problèmes de serveur web
Toutes les routes renvoient 404
Solution Apache :
sudo a2enmod rewrite
sudo systemctl restart apache2
Assurez-vous que AllowOverride All est défini dans votre hôte virtuel.
Solution Nginx : Assurez-vous que votre bloc serveur contient :
location / {
try_files $uri $uri/ /index.php?$query_string;
}
502 Bad Gateway (Nginx)
Cause : PHP-FPM ne fonctionne pas ou le chemin du socket est incorrect.
Solution :
sudo systemctl restart php8.4-fpm
# Vérifier le chemin du socket
ls /var/run/php/php8.4-fpm.sock
413 Request Entity Too Large
Cause : Limite de taille d'upload trop basse.
Solution (Nginx) :
client_max_body_size 20M;
Solution (PHP) :
upload_max_filesize = 20M
post_max_size = 25M
Problèmes d'authentification
"CSRF Token Mismatch" (Erreur 419)
Cause : Session expirée ou problème de cookies.
Solution :
- Videz les cookies du navigateur et réessayez
- Vérifiez
SESSION_DOMAINdans.env(définissez.yourdomain.compour les sous-domaines) - Assurez-vous que
SESSION_SECURE_COOKIE=trueuniquement si vous utilisez HTTPS
Impossible de se connecter après la réinitialisation du mot de passe
Cause : Le navigateur a mis en cache l'ancienne session.
Solution : Videz les cookies du navigateur ou utilisez le mode navigation privée.
La connexion sociale renvoie une erreur
Cause : Incompatibilité de l'URL de callback.
Solution : Assurez-vous que l'URL de callback dans la console Google/GitHub correspond exactement à :
- Google :
https://yourdomain.com/auth/google/callback - GitHub :
https://yourdomain.com/auth/github/callback
Problèmes de paiement
Consultez Problèmes de passerelle de paiement pour un dépannage détaillé des paiements.
Problèmes d'e-mail
Consultez E-mails non envoyés pour un dépannage détaillé des e-mails.
Problèmes de performances
Consultez Optimisation des performances pour des conseils d'optimisation.
Problèmes de cache
En cas de doute, videz tous les caches :
php artisan optimize:clear
Cela vide :
- Le cache de configuration
- Le cache des routes
- Le cache des vues
- Le cache de l'application
- Le cache des classes compilées
Mode débogage (temporaire)
Pour voir les messages d'erreur détaillés :
- Modifiez
.env:
APP_DEBUG=true
LOG_LEVEL=debug
- Reproduisez l'erreur
- Consultez la page d'erreur ou
storage/logs/laravel.log - Immédiatement remettez
APP_DEBUG=falseune fois terminé !
Ne laissez jamais APP_DEBUG=true en production. Cela expose des informations sensibles.
Obtenir de l'aide
Si aucune des solutions ci-dessus ne résout votre problème :
- Consultez
storage/logs/laravel.logpour la trace d'erreur complète - Consultez le journal d'erreurs de votre serveur web (
/var/log/nginx/error.logou/var/log/apache2/error.log) - Recherchez des problèmes similaires dans les commentaires de l'article CodeCanyon
- Ouvrez un ticket de support avec :
- Le message d'erreur (depuis le journal)
- La version PHP (
php -v) - La version Laravel
- Les détails du serveur (OS, serveur web, version MySQL)
- Les étapes pour reproduire le problème