🐛 DebugIntermédiaire PS 1.7 PS 8.x

Erreur 500 sur PrestaShop : diagnostic complet et solutions

Découvrez comment diagnostiquer et corriger une erreur 500 sur PrestaShop 1.7 et 8.x. Mode debug, modules incompatibles, logs serveur : guide complet.

En bref : L'erreur 500 sur PrestaShop se diagnostique en activant le mode debug pour obtenir la stack trace, puis en vérifiant les modules, la version PHP, les overrides et les logs serveur. La cause la plus fréquente est un module incompatible qu'il suffit de désactiver pour restaurer le site.

Publié le 21 mars 2026 5 min de lecture Alexandre Carette

Comprendre l'erreur 500 sur PrestaShop

L'erreur 500 (Internal Server Error) est l'un des problèmes les plus fréquents — et les plus frustrants — rencontrés par les marchands et développeurs PrestaShop. Derrière ce message générique se cache une multitude de causes possibles : module défaillant, incompatibilité PHP, fichier corrompu, ou encore dépassement de mémoire.

Le véritable enjeu n'est pas l'erreur elle-même, mais sa localisation. Sans diagnostic méthodique, on risque de patcher à l'aveugle et d'aggraver la situation.

Étape 1 : activer le mode debug

La toute première action à entreprendre est d'activer le mode debug de PrestaShop. Sans lui, vous n'obtiendrez jamais le détail de l'exception qui provoque l'erreur 500.

Sur PrestaShop 8.x

Modifiez le fichier .env à la racine de votre installation :


# Remplacer
APP_DEBUG=0
APP_ENV=prod

# Par
APP_DEBUG=1
APP_ENV=dev

Sur PrestaShop 1.7

Éditez le fichier config/defines.inc.php :


// Ligne à modifier
define('_PS_MODE_DEV_', true);

Sur PrestaShop 1.6

Le même fichier config/defines.inc.php :


define('_PS_MODE_DEV_', true);

Une fois le mode debug activé, rechargez la page fautive. Au lieu d'un simple « Erreur 500 », vous obtiendrez une stack trace complète avec le nom de l'exception, le fichier concerné et le numéro de ligne.

Important : ne laissez jamais le mode debug activé en production. Il expose des informations sensibles (chemins serveur, variables d'environnement, requêtes SQL).

Étape 2 : analyser les logs serveur

Si le mode debug ne suffit pas (par exemple si l'erreur survient avant même le chargement du framework), consultez les logs serveur :


# Apache
tail -f /var/log/apache2/error.log

# Nginx
tail -f /var/log/nginx/error.log

# Logs PHP-FPM
tail -f /var/log/php-fpm/www-error.log

Sur un hébergement mutualisé, ces logs sont généralement accessibles depuis le panneau d'administration (cPanel, Plesk) ou dans un dossier logs/ à la racine.

Étape 3 : identifier les causes fréquentes

Modules incompatibles

Les modules sont la cause numéro un des erreurs 500 sur PrestaShop. Un module non mis à jour après une montée de version PHP ou PrestaShop peut provoquer des exceptions fatales.

Exemple classique : le module Mail Alerts (ps_emailalerts) a longtemps provoqué une InactiveScopeException sur PrestaShop 1.7, causant une erreur 500 systématique.

Pour isoler un module fautif :


# Renommer le dossier du module suspect
mv modules/ps_emailalerts modules/ps_emailalerts_disabled

# Vider le cache
rm -rf var/cache/*

Si le site revient, vous avez identifié le coupable. Cherchez alors une mise à jour du module ou contactez son éditeur.

Dépassement de mémoire PHP

Une erreur 500 peut masquer un Fatal error: Allowed memory size exhausted. Augmentez la limite dans php.ini :


memory_limit = 512M
max_execution_time = 300

Ou via .htaccess si votre hébergeur le permet :


php_value memory_limit 512M
php_value max_execution_time 300

Incompatibilité de version PHP

PrestaShop 8.x requiert PHP 7.2.5 minimum (PHP 8.1 recommandé). Une version trop ancienne ou trop récente peut provoquer des erreurs fatales :

Version PrestaShopPHP minimumPHP recommandé 1.6.x5.47.1 1.7.x7.17.4 8.x7.2.58.1

Fichier .htaccess corrompu

Un .htaccess mal configuré ou corrompu peut bloquer le serveur. Pour tester :


# Renommer temporairement
mv .htaccess .htaccess.bak

# Si le site revient, régénérer depuis le back-office :
# Préférences > SEO & URLs > Générer le fichier .htaccess

Overrides en conflit

Sur PrestaShop 1.7+, les overrides sont une source fréquente de conflits. Si l'erreur survient après l'installation d'un module :


# Vérifier les overrides récemment ajoutés
ls -lt override/classes/
ls -lt override/controllers/

# Supprimer le cache des overrides
rm -f var/cache/prod/class_index.php
rm -f var/cache/dev/class_index.php

Étape 4 : procédure de récupération complète

Si votre back-office est également inaccessible, voici la procédure de secours :

  1. **Activez le mode debug** via FTP (fichiers mentionnés ci-dessus)
  2. **Désactivez tous les modules non natifs** en renommant leurs dossiers
  3. **Videz le cache** : supprimez tout le contenu de `var/cache/`
  4. **Réactivez les modules un par un** pour isoler le coupable
  5. **Vérifiez les droits fichiers** :
  6. 
    # Droits corrects pour PrestaShop
    find . -type f -exec chmod 644 {} \;
    find . -type d -exec chmod 755 {} \;
    chmod -R 775 var/ img/ upload/ download/ mails/ themes/
    

    Bonnes pratiques pour éviter les erreurs 500

    • **Testez toujours sur un environnement de préproduction** avant de mettre à jour un module ou PrestaShop
    • **Faites un backup complet** (fichiers + base de données) avant toute opération critique
    • **Maintenez vos modules à jour**, en particulier après une montée de version PHP
    • **Surveillez vos logs** : configurez une alerte sur les erreurs 500 pour réagir rapidement
    • **Utilisez une version stable de PrestaShop** : les versions majeures fraîchement sorties contiennent souvent des régressions. Attendez les premiers patchs correctifs avant de migrer en production

    Cas particulier : erreur 500 uniquement sur certaines pages

    Si l'erreur 500 ne touche qu'une page produit, une catégorie ou le tunnel de commande, le problème est probablement lié aux données plutôt qu'au code :

    • **Page produit** : image corrompue, description contenant du HTML invalide
    • **Page catégorie** : nombre excessif de produits sans pagination
    • **Checkout** : module de paiement ou de livraison défaillant

    Activez le mode debug pour obtenir l'exception exacte, puis ciblez votre correction.

#erreur 500 #debug prestashop #mode debug #internal server error #diagnostic

Questions fréquentes

Tout ce que vous devez savoir sur ce sujet.

Un projet PrestaShop ?

Discutons-en directement.

★★★★★

193 projets livrés

Gratuit & sans engagement — réponse sous 24h

Alexandre Carette

Alexandre Carette

Expert PrestaShop & Architecture E-commerce

Développeur PrestaShop depuis 2014, 193 projets livrés. Je conçois des architectures headless Nuxt + PrestaShop et des outils d'automatisation IA pour les e-commerçants.