Page blanche sur les fiches produits PrestaShop : diagnostic et correction
Résolvez le problème de page blanche sur vos fiches produits PrestaShop. Diagnostic pas à pas : module commentaires, Memcache, erreurs PHP fatales.
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.
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 :
- **Mettre à jour le module** depuis le back-office (Modules → Mises à jour). Sur PrestaShop 8.x, la version 6.x du module est recommandée.
- **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 :
- **Remplacer le module** par une alternative comme `Product Reviews` ou une solution tierce mieux maintenue.
- 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é)
- Basculez sur **Système de fichiers** (option la plus sûre)
- Videz le cache manuellement
- Vérifiez que les fiches produits fonctionnent à nouveau
- **Activer le mode debug** → lire le message d'erreur
- **Si erreur module** → désactiver le module incriminé → mettre à jour ou corriger
- **Si aucune erreur visible** → désactiver Memcache → tester
- **Si persistant** → désactiver les overrides → basculer sur le thème par défaut
- **Si toujours blanc** → vérifier `memory_limit`, les logs PHP (`/var/log/php-errors.log`) et les logs Apache/Nginx
- **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
// 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 = [];
}
É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 :
Correction
Dans le back-office, allez dans Paramètres avancés → Performances → Système de cache :
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.
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 :
Prévention
Pour éviter que ce problème ne se reproduise :
Questions fréquentes
Tout ce que vous devez savoir sur ce sujet.
Un projet PrestaShop ?
Discutons-en directement.
193 projets livrés
Lire sur le blog

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.