18 Sep 2019

Corriger Fatal error : cache in appDevDebugProjectContainer.php [Prestashop 1.7]

J’ai découvert cette erreur sur le site d’un client sous Prestashop 1.7. Après avoir activé le mode debug du site, quand je me connectais j’avais une fatale error. Il m’était impossible de travailler sur le site. Après quelques recherches j’ai trouvé une solution !

Compile error var/cache dans Prestashop

Si vous avez une erreur 500 (page blanche) sur votre back-office, activez les erreurs dans Prestashop (dans le menu, paramètres avancés -> performance).

Vous pouvez activer le mode debug uniquement pour votre adresse IP. Pour vous aider j’ai réalisé un tutoriel en vidéo sur l’affichage des erreurs dans Prestashop :

Voici l’erreur que vous pouvez avoir :

Compile Error: require(): Failed opening required ‘/home/terreoshfe/www/var/cache/dev/ContainerWzg7uaa/removed-ids.php’ (include_path=’/home/terreoshfe/www/vendor/pear/pear_exception :/home/terreoshfe/www/vendor/pear/console_getopt:/home/terreoshfe/www/vendor/pear/pear-core-minimal/src:/home/terreoshfe/www/vendor/pear/archive_tar:.:/usr/local/php7.2/lib/php’)

in appDevDebugProjectContainer.php line 1204

Il faut savoir que cette erreur peut subvenir lors d’un changement de version de Prestashop. C’est un problème lié à la mise en cache du site. Vous pouvez vider plusieurs fois le cache, forcer la compilation etc mais rien n’y fera, l’erreur 500 sera toujours là.

Résoudre l’erreur 500 dans le back-office de Prestashop

Il y a plusieurs solutions pour résoudre ce problème-là en particulier.

Si vous avez une des premières versions de Prestashop 1.7, connectez-vous à votre serveur puis supprimez le dossier prod dans : app/cache/prod.

Pour les dernières versions supprimez les 2 dossiers dev et prod dans var/cache.

Suite aux suppressions des dossiers de cache, Prestashop va automatiquement régénérer les dossiers et les fichiers à l’intérieur. Cela permet de tout remettre à neuf dans les dossiers en question.

 

Le problème persiste ? Vous pouvez me contacter pour une intervention.

9 commentaires sur “Corriger Fatal error : cache in appDevDebugProjectContainer.php [Prestashop 1.7]
  1. Bonjour
    Apres avoir supprimé le répertoire app/cache/prod mes mails ne partent plus (ni via formulaire de contact, ni confirmation de commande etc…). Je recois juste le mail de test via le BO.
    Je suis en PS1.7.2.2, email paramétré en php , hébergement chez OVH

    Auriez-vous une idée ?

    Update du commentaire :
    Après avoir réinitialiser le module Alerte Email : cela fonctionne à nouveau.
    Merci beaucoup pour le vidage du cache en supprimant le répertoire app/cache/prod : j’ai moins d’erreur 500 maintenant
    Bonnes fêtes de fins d’année

    1. Bonjour,

      Il y a pas vraiment de liaison entre le cache et l’expédition des mails.
      si jamais vous avez des problèmes au niveau des mails OVH je vous conseille de regarder mon article :La fonction mail() de PHP ne marche pas sur mon Prestashop

      Pour éviter les problèmes de cache sur ce genre de problème, testez votre site en navigation privée avec votre navigateur web.
      Vous n’aurez pas les cookies / cache de vos sessions habituelles.

  2. Waouh, merci beaucoup, vous m’avez évité de longues heures de recherche 🙂
    J’avais une erreur qui ressemblait à celle-ci en vidant le cache (sous prestashop 1.7.7, après migration de 1.6).
    En supprimant les infos de ce répertoire et en vidant plusieurs fois le cache, je n’ai plus aucune erreur.

  3. Bonjour
    Merci pour vos corrections qui sont toujours utiles 🙂
    J’ai une erreur que je n’arrive pas à régler :
    J’ai une multiboutique avec 2 shop
    Dans le BO quand j’essaie d’afficher les produits pour toutes les boutiques j’ai ce message
    “Invalid $number parameter: “” cannot be interpreted as a number [PrestaShop\PrestaShop\Core\Localization\Exception\LocalizationException 0]”
    Je peux afficher la liste des produits par boutique une à une mais pas les deux en même temps.
    Avez-vous une solution
    Cordialement

Laisser un commentaire

Votre adresse e-mail ne sera pas publiée. Les champs obligatoires sont indiqués avec *