Les problèmes Magento tels que l'écran blanc et les erreurs 500 peuvent être frustrants. Dans ce guide, nous vous aidons à résoudre les problèmes les plus courants.

Premiers pas en cas de problèmes

Avant de commencer le dépannage :

  1. Vérifiez les journaux d'erreurs
  2. Activez le mode développement (temporairement)
  3. Vérifiez les modifications récentes - qu'est-ce qui a changé ?
  4. Faites une sauvegarde avant de modifier quoi que ce soit

Activer le mode développeur

Pour voir des messages d'erreur détaillés :

bin/magento deploy:mode:set developer

Remarque: Désactivez cela après le dépannage pour de meilleures performances.

Résoudre l'écran blanc

Un écran blanc (White Screen of Death) signifie une erreur PHP fatale.

Étape 1 : Vérifiez les journaux d'erreurs

# Journal des erreurs Magento
tail -100 var/log/exception.log
tail -100 var/log/system.log

# Journal des erreurs PHP
tail -100 /chemin/vers/logs/error.log

# Journal des erreurs Apache
tail -100 /var/log/apache2/error.log

Étape 2 : Afficher les erreurs PHP

Ajoutez temporairement à index.php :

ini_set('display_errors', 1);
error_reporting(E_ALL);

Étape 3 : Causes courantes

Limite de mémoire

# Vérifiez la limite actuelle
php -i | grep memory_limit

# Augmentez via .htaccess
php_value memory_limit 2G

Cache corrompu

rm -rf var/cache/*
rm -rf var/page_cache/*
rm -rf generated/*

Permissions

find var generated pub/static pub/media -type d -exec chmod 755 {} \;
find var generated pub/static pub/media -type f -exec chmod 644 {} \;
chmod u+x bin/magento

Erreur 500 Internal Server

Étape 1 : Vérifiez .htaccess

Un .htaccess corrompu est une cause fréquente :

  1. Renommez `.htaccess` en `.htaccess_backup`
  2. Téléchargez un nouveau `.htaccess` depuis Magento GitHub
  3. Testez le site web

Étape 2 : Version PHP

Vérifiez si la version PHP est compatible :

  • Magento 2.4.6+ : PHP 8.1 ou 8.2
  • Magento 2.4.4-5 : PHP 8.1

Étape 3 : Connexion à la base de données

Testez la connexion à la base de données :

  1. Vérifiez les identifiants dans `app/etc/env.php`
  2. Testez la connexion via phpMyAdmin
  3. Vérifiez si le serveur de base de données fonctionne

Étape 4 : Compilation DI

rm -rf generated/*
bin/magento setup:di:compile

Problèmes de cache

Vider tout le cache

bin/magento cache:clean
bin/magento cache:flush

Cache spécifique

# Seulement le cache de configuration
bin/magento cache:clean config

Seulement le cache de page complète

bin/magento cache:clean full_page

Suppression manuelle du cache

rm -rf var/cache/*
rm -rf var/page_cache/*
rm -rf var/view_preprocessed/*
rm -rf pub/static/frontend/*
rm -rf pub/static/adminhtml/*
rm -rf generated/*

Problèmes d'index

Vérifier l'état de l'index

bin/magento indexer:status

Reconstruire tous les index

bin/magento indexer:reindex

Index spécifique

bin/magento indexer:reindex catalog_product_price
bin/magento indexer:reindex catalogsearch_fulltext

Problèmes du panneau d'administration

L'administration ne se charge pas

  1. Vérifiez l'URL de l'administration
    bin/magento info:adminuri
  2. Réinitialisez l'URL de l'administration
    bin/magento config:set admin/url/use_custom 0
    bin/magento config:set admin/url/use_custom_path 0
  3. Videz le cache
    bin/magento cache:clean

Impossible de se connecter

  1. Déverrouillez le compte et créez si nécessaire un nouveau compte administrateur. Magento ne propose pas de commande CLI pour modifier le mot de passe d'un compte existant :
    bin/magento admin:user:unlock adminusername
    bin/magento admin:user:create --admin-user=nouveladmin --admin-password='ChoisissezUnMotDePasseFort1' --admin-email=vous@example.fr --admin-firstname=Prenom --admin-lastname=Nom
    Connectez-vous avec le nouveau compte et réinitialisez le mot de passe de l'ancien compte via System > Permissions > All Users.
  2. Vérifiez l'état du compte dans la base de données (table admin_user)

Problèmes d'extension

Trouver l'extension problématique

# Désactivez toutes les extensions
bin/magento module:disable --all

Réactivez les modules de base

bin/magento module:enable Magento_Backend Magento_Store ...

Testez le site web

Activez les extensions une par une

bin/magento module:enable Vendor_Module

Suppression d'urgence de l'extension

Via la base de données si CLI ne fonctionne pas :

  1. Allez dans phpMyAdmin
  2. Trouvez la table `setup_module`
  3. Supprimez l'entrée de module problématique
  4. Videz manuellement var/cache

Problèmes de base de données

Message "Please upgrade your database"

Ce message apparaît lorsque le code est plus récent que la base de données, par exemple après l'installation ou la mise à jour d'une extension sans setup:upgrade :

bin/magento setup:upgrade
bin/magento setup:di:compile
bin/magento setup:static-content:deploy -f fr_FR
bin/magento cache:flush

Réparer la base de données

# Via Magento CLI
bin/magento setup:db:status
bin/magento setup:db-schema:upgrade
bin/magento setup:db-data:upgrade

Réparer les tables via phpMyAdmin

  1. Sélectionnez toutes les tables
  2. Choisissez "Réparer la table" dans le menu déroulant
  3. Exécutez

Mode maintenance

Mettez votre boutique en mode maintenance pendant que vous résolvez un problème ou effectuez des mises à jour, afin que les visiteurs ne voient pas de messages d'erreur ou une boutique à moitié fonctionnelle :

# Activer
bin/magento maintenance:enable
# Vérifier le statut
bin/magento maintenance:status
# Désactiver
bin/magento maintenance:disable

Avec bin/magento maintenance:enable --ip=<votre adresse IP>, vous gardez vous-même l'accès à la boutique pendant la maintenance.

Conseils de débogage

Activer le profiler

bin/magento dev:profiler:enable

Vérifiez ensuite la sortie du Profiler en bas de la page.

Journalisation des requêtes

Dans `app/etc/env.php` :

'db' => [
    'connection' => [
        'default' => [
            'profiler' => [
                'class' => '\Magento\Framework\DB\Profiler',
                'enabled' => true
            ]
        ]
    ]
]

Console du navigateur

Pas d'erreur PHP, mais une partie de la page ne fonctionne pas (les boutons ne réagissent pas, le checkout ne se charge pas) ? Ouvrez la console de votre navigateur (F12) et vérifiez s'il y a des erreurs JavaScript.

XDebug

Configurez XDebug pour un débogage étape par étape dans votre IDE.

Quand activer le support

Contactez le support si :

  • Vous ne pouvez pas trouver la cause
  • Il semble s'agir d'un problème au niveau du serveur
  • Vous avez besoin de modifications nécessitant des droits administratifs
  • Le problème persiste

Articles connexes

  • Voir les journaux d'erreurs dans DirectAdmin
  • Exigences système Magento
  • Faire une sauvegarde Magento

Besoin d'aide ?

Nous sommes là pour vous ! Vous rencontrez un problème ou avez des questions ? Notre équipe de support se fera un plaisir de vous aider personnellement. Envoyez-nous un message via le système de tickets - nous répondons généralement dans quelques heures et sommes heureux de vous aider.

Vous cherchez une adresse e-mail ? Découvrez notre offre.