WebSentinel.
Tutoriels

PrestaShop : écran blanc et erreur 500 — causes et solutions

· Nicolas Pivaut

Vous ouvrez votre boutique et c’est le vide : page blanche, ou un laconique « 500 Internal Server Error ». Panique garantie — surtout un jour de forte activité. Bonne nouvelle : dans 90 % des cas, la panne est identifiable et réparable en moins d’une heure si vous avez les bons réflexes.

Pourquoi PrestaShop tombe plus souvent que WordPress

PrestaShop est une application PHP bien plus lourde qu’un blog WordPress. À chaque requête, le moteur charge des centaines de classes, compile les templates Smarty, interroge une base MySQL parfois volumineuse et exécute les overrides de modules. Le moindre grain de sable — une classe manquante, un module mal codé, un cache corrompu — peut tout bloquer avec un écran blanc sans message d’erreur apparent.

Trois mécanismes expliquent la majorité des pannes :

  1. Le cache de classes PHP (ou cache Smarty) : PrestaShop compile et met en cache ses templates .tpl dans /var/cache/. Si ce cache est corrompu suite à une mise à jour ou une coupure réseau lors d’une écriture, la page ne peut plus se charger.
  2. La mémoire PHP insuffisante : PrestaShop nécessite au minimum 256 Mo de memory_limit. En dessous, un Fatal error: Allowed memory size exhausted se traduit souvent par un écran blanc côté visiteur.
  3. Les modules tiers : un module mal développé peut écraser des méthodes core via les overrides et planter l’ensemble de la boutique après une mise à jour de PrestaShop.

Activer les logs pour voir le vrai message d’erreur

Avant de fouiller partout, activez l’affichage des erreurs PHP. Via FTP ou SSH, ouvrez le fichier config/defines.inc.php et cherchez la constante _PS_MODE_DEV_. Passez-la à true :

define('_PS_MODE_DEV_', true);

Rechargez la page : le message d’erreur PHP réel apparaît. C’est votre point de départ. N’oubliez pas de remettre à false une fois le problème résolu.

Vous pouvez aussi consulter les logs serveur directement :

  • Apache : /var/log/apache2/error.log
  • Nginx : /var/log/nginx/error.log
  • PrestaShop : dossier /var/logs/ à la racine de votre installation

Cause n°1 : cache Smarty corrompu

Symptôme : écran blanc ou erreur SmartyException dans les logs.

Solution : via FTP ou SSH, supprimez le contenu des dossiers suivants (pas les dossiers eux-mêmes, uniquement leur contenu) :

/var/cache/prod/smarty/compile/
/var/cache/prod/smarty/cache/

Si vous avez accès au back-office, allez dans Paramètres avancés > Performances et cliquez sur « Vider le cache ».

Cause n°2 : mémoire PHP insuffisante

Symptôme : Fatal error: Allowed memory size of X bytes exhausted.

Solution : modifiez le fichier .htaccess à la racine ou le php.ini de votre hébergement :

php_value memory_limit 512M

Chez certains hébergeurs mutualisés, cette valeur est plafonnée. Contactez le support pour l’augmenter, ou envisagez une migration vers un VPS.

Cause n°3 : module incompatible

Symptôme : la panne est apparue juste après l’installation ou la mise à jour d’un module.

Solution : désactivez le module suspect directement en base de données si le back-office est inaccessible. Connectez-vous à phpMyAdmin et exécutez :

UPDATE ps_module SET active = 0 WHERE name = 'nom_du_module';

Alternativement, renommez le dossier du module via FTP pour le rendre inactif : /modules/nom_du_module//modules/nom_du_module_DISABLED/

Cause n°4 : .htaccess cassé

Symptôme : erreur 500 immédiate sur toutes les pages, même la page d’accueil.

Solution : renommez le .htaccess actuel en .htaccess.bak, puis régénérez-en un nouveau depuis le back-office (Boutique > Référencement (SEO) > Régénérer le .htaccess). Si le back-office est inaccessible, remplacez le fichier par le .htaccess générique de votre version de PrestaShop.

Cause n°5 : droits de fichiers incorrects

Symptôme : erreurs 403 ou pages blanches après une migration ou une restauration de sauvegarde.

Solution : les droits standard PrestaShop sont 755 pour les dossiers et 644 pour les fichiers. Corrigez-les via SSH :

find /var/www/prestashop -type d -exec chmod 755 {} \;
find /var/www/prestashop -type f -exec chmod 644 {} \;

Cause n°6 : version PHP incompatible

Symptôme : après une mise à jour PHP chez l’hébergeur, la boutique ne répond plus.

Compatibilité rapide :

  • PrestaShop 1.6 → PHP 5.6 à 7.2 (plus maintenu !)
  • PrestaShop 1.7 → PHP 7.1 à 7.4
  • PrestaShop 8.x → PHP 8.1 à 8.2

Vérifiez la version PHP active dans les logs ou via phpinfo(). Si votre hébergeur a mis à jour PHP automatiquement vers une version incompatible, repassez à la version précédente depuis votre panneau de contrôle.

Quand appeler un professionnel

Si après ces étapes la boutique reste blanche, le problème est probablement plus profond : override corrompu, base de données endommagée, piratage actif. Dans ce cas, chaque minute perdue représente des ventes perdues.

Notre service d’urgence PrestaShop vous permet d’obtenir une intervention dans l’heure, avec diagnostic complet. Si les pannes se répètent, un contrat de maintenance PrestaShop vous protège sur le long terme.

Articles similaires

Conformité légale

Bouton de rétractation conforme

Module sur-mesure + installation + support 12 mois. WooCommerce, PrestaShop, Shopify. 149 €.

En savoir plus