🐛 DebugIntermédiaire PS 1.6 PS 1.7 PS 8.x

Page blanche PrestaShop : diagnostic et correction

Page blanche sur PrestaShop (fiches produits, thème modifié) ? Diagnostic pas à pas : erreurs PHP, module coupable, limite mémoire, cache Memcache.

En bref : Une page blanche sur les fiches produits PrestaShop provient généralement d'un module défaillant (souvent Commentaires Produits) ou d'un cache Memcache mal configuré. Activez le mode debug pour identifier l'erreur, désactivez le module ou le cache incriminé, puis mettez à jour ou corrigez.

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

Introduction

Une page blanche (aussi appelée WSOD — *White Screen of Death*) sur l'ensemble de vos fiches produits est l'un des problèmes les plus stressants pour un marchand PrestaShop. La boutique semble fonctionner normalement — la page d'accueil s'affiche, les catégories répondent — mais dès qu'on clique sur un produit, c'est le néant. Aucun message d'erreur, juste un écran blanc.

Dans la grande majorité des cas, ce symptôme a deux origines principales : un module défaillant (très souvent le module Commentaires Produits) ou un problème de cache serveur (Memcache/Memcached mal configuré). Voyons comment diagnostiquer et corriger ce problème méthodiquement.

Étape 1 : activer l'affichage des erreurs PHP

Avant toute chose, il faut rendre l'erreur visible. Une page blanche signifie qu'une erreur fatale PHP se produit mais que l'affichage des erreurs est désactivé.

Sur PrestaShop 1.6 / 1.7

Modifiez le fichier config/defines.inc.php :


// Remplacer
define('_PS_MODE_DEV_', false);
// Par
define('_PS_MODE_DEV_', true);

Sur PrestaShop 8.x

Modifiez le fichier .env à la racine du projet :


# Remplacer
APP_DEBUG=0
# Par
APP_DEBUG=1

Vous pouvez aussi activer le mode debug via le back-office dans Paramètres avancés → Performances → Mode debug.

Important : désactivez systématiquement le mode debug après résolution du problème. Laisser le debug actif en production expose des informations sensibles et dégrade les performances.

Une fois le debug activé, rechargez une fiche produit. Vous devriez maintenant voir un message d'erreur explicite, souvent de type Fatal error avec un nom de fichier et un numéro de ligne.

Étape 2 : identifier le module coupable

Dans la plupart des cas que j'ai rencontrés, le message d'erreur pointe vers un fichier de module, typiquement productcomments.php avec une erreur fatale autour de la ligne 734 (sur les anciennes versions du module).

Le suspect numéro 1 : le module Commentaires Produits

Le module productcomments (Avis clients) est historiquement l'un des modules les plus sujets aux erreurs fatales sur les fiches produits, pour plusieurs raisons :

  • **Incompatibilité de version** : le module n'a pas été mis à jour pour correspondre à la version PHP du serveur
  • **Appels à des méthodes dépréciées** : certaines fonctions PHP supprimées dans PHP 7.x/8.x étaient encore utilisées
  • **Conflit avec le thème** : le hook `displayProductExtraContent` est mal géré par certains thèmes

Test rapide : désactiver le module

Rendez-vous dans le back-office :

Modules → Module Manager → rechercher "commentaire" → Désactiver

Si les fiches produits réapparaissent immédiatement, le diagnostic est confirmé.

Correction définitive

Plusieurs options s'offrent à vous, par ordre de préférence :

  1. **Mettre à jour le module** depuis le back-office (Modules → Mises à jour). Sur PrestaShop 8.x, la version 6.x du module est recommandée.
    1. **Corriger le code manuellement** si la mise à jour n'est pas possible. Ouvrez le fichier `modules/productcomments/productcomments.php` et examinez la ligne indiquée dans l'erreur. Les corrections les plus fréquentes :
    2. 
      // Erreur typique : appel à une méthode sur un objet null
      // Avant (code défaillant)
      $result = $product->getComments();
      
      // Après (correction avec vérification)
      if ($product && method_exists($product, 'getComments')) {
          $result = $product->getComments();
      } else {
          $result = [];
      }
      
      1. **Remplacer le module** par une alternative comme `Product Reviews` ou une solution tierce mieux maintenue.
      2. Étape 3 : vérifier la configuration du cache (Memcache / Memcached)

        Si la désactivation du module commentaires ne résout pas le problème, le coupable peut être le système de cache serveur.

        Pourquoi Memcache provoque des pages blanches

        Lorsque Memcache (ou Memcached) est sélectionné comme système de cache dans PrestaShop mais que le service n'est pas réellement actif sur le serveur, ou que la connexion est instable, PrestaShop échoue silencieusement lors du chargement des données mises en cache — ce qui produit une page blanche.

        C'est particulièrement fréquent après :

        • Une migration de serveur (Memcache n'est pas installé sur le nouveau serveur)
        • Une mise à jour de PHP (l'extension `php-memcache` n'est plus chargée)
        • Un redémarrage serveur (le service Memcached ne s'est pas relancé)

        Correction

        Dans le back-office, allez dans Paramètres avancés → Performances → Système de cache :

        1. Basculez sur **Système de fichiers** (option la plus sûre)
        2. Videz le cache manuellement
        3. Vérifiez que les fiches produits fonctionnent à nouveau
        4. Si vous souhaitez conserver Memcache, vérifiez d'abord que le service tourne :

          
          # Vérifier si Memcached est actif
          systemctl status memcached
          
          # Vérifier si l'extension PHP est chargée
          php -m | grep memcache
          
          # Tester la connexion
          echo "stats" | nc localhost 11211
          

          Sur PrestaShop 8.x, le cache applicatif est géré par Symfony et Doctrine. Préférez APCu ou Redis comme système de cache, bien plus stables et performants que Memcache.

          Étape 4 : autres causes possibles

          Si les deux premières pistes n'ont rien donné, explorez ces causes supplémentaires :

          Limite mémoire PHP

          Les fiches produits avec beaucoup de déclinaisons ou d'images peuvent dépasser la limite mémoire :

          
          // Dans php.ini
          memory_limit = 256M
          

          Override corrompu

          Vérifiez si un override du ProductController existe :

          
          # Chercher les overrides liés aux produits
          ls -la override/controllers/front/ProductController.php
          

          Si le fichier existe, renommez-le temporairement pour tester :

          
          mv override/controllers/front/ProductController.php override/controllers/front/ProductController.php.bak
          

          Puis videz le cache (var/cache/ sur PS 8.x ou cache/ sur PS 1.6/1.7).

          Thème incompatible

          Basculez temporairement sur le thème par défaut (Classic) depuis le back-office pour confirmer ou éliminer cette piste.

          Page blanche après une modification du thème : la limite mémoire PHP

          L'installation ou la personnalisation d'un thème est une opération gourmande en mémoire. PrestaShop doit compiler les templates, régénérer les assets, recalculer les positions de hooks… Si la limite mémoire PHP est trop basse (souvent 128 Mo par défaut sur les hébergements mutualisés), le processus s'arrête brutalement et provoque une page blanche.

          Méthode 1 : via le fichier `.htaccess`

          Ajoutez cette directive dans le fichier .htaccess à la racine de votre boutique :

          
          php_value memory_limit 512M
          

          Cette méthode fonctionne sur les serveurs Apache avec mod_php. Si vous obtenez une erreur 500 après l'ajout, votre hébergeur utilise probablement PHP-FPM (courant sur les offres récentes), et cette directive n'est pas supportée.

          Méthode 2 : via `php.ini` ou `.user.ini`

          Créez ou modifiez un fichier .user.ini (pour PHP-FPM) ou php.ini à la racine :

          
          memory_limit = 512M
          max_execution_time = 300
          post_max_size = 64M
          upload_max_filesize = 64M
          

          J'ajoute ici max_execution_time car l'import de thèmes lourds peut aussi dépasser le temps d'exécution maximal.

          Méthode 3 : directement dans PrestaShop

          Dans le fichier config/defines.inc.php :

          
          @ini_set('memory_limit', '512M');
          

          Comment vérifier que la modification est prise en compte

          Créez un fichier info.php temporaire à la racine :

          
          <?php phpinfo();
          

          Accédez-y via votre navigateur et cherchez la ligne memory_limit. Supprimez ce fichier immédiatement après vérification — il expose des informations sensibles sur votre serveur.

          Hébergement mutualisé : si aucune de ces méthodes ne fonctionne, contactez votre hébergeur. Certains verrouillent la mémoire à 256 Mo. C'est insuffisant pour PrestaShop avec un thème complexe : 512 Mo est le minimum recommandé, 1 Go étant préférable pour les catalogues importants.

          Méthode de diagnostic systématique

          Voici la procédure que j'applique systématiquement face à une page blanche ciblée sur les fiches produits :

          1. **Activer le mode debug** → lire le message d'erreur
          2. **Si erreur module** → désactiver le module incriminé → mettre à jour ou corriger
          3. **Si aucune erreur visible** → désactiver Memcache → tester
          4. **Si persistant** → désactiver les overrides → basculer sur le thème par défaut
          5. **Si toujours blanc** → vérifier `memory_limit`, les logs PHP (`/var/log/php-errors.log`) et les logs Apache/Nginx
          6. Prévention

            Pour éviter que ce problème ne se reproduise :

            • **Maintenez vos modules à jour**, en particulier ceux qui interviennent sur les fiches produits (commentaires, avis, attributs personnalisés)
            • **Testez sur un environnement de preprod** avant toute mise à jour module ou PHP
            • **Utilisez Redis ou APCu** plutôt que Memcache pour le cache
            • **Surveillez vos logs PHP** : un `Fatal error` dans les logs précède toujours la page blanche côté visiteur
            • **Configurez un monitoring** qui alerte quand une page clé retourne un code HTTP 500 ou un body vide
#page blanche #fiche produit #productcomments #memcache #fatal error #debug prestashop

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.