Jump to content

[Résolu] Fatal error et picétou


Recommended Posts

Bonjour la communauté !

 

Je me tourne vers vous parce que je galère vraiment à résoudre un problème un peu vicieux que je suspecte être apparu depuis l'upgrade de PHP par mon hébergeur vers 7.0. En substance, mon site rencontre des Fatal Error (page blanche où est écrit fatal error) dans des cas systématiques, sans pour autant préciser exactement où le bug survient.

 

C'est un problème qui n'était pas là avant (mon shop est ouvert depuis fin septembre 2016) et c'est pourquoi je suspecte la MàJ PHP (rien d'autre n'a changé à ma connaissance). Mais rien n'est certain et je ne suis pas assez calé pour approfondir mes recherches seul.

 

Il y a quelques semaines, un client m'avait signalé qu'il rencontrait ce problème lorsqu'il cherchait à aller dans son panier. Comme je ne trouvais pas de problème similaire sur le net, j'ai essayé d'isoler le couac en testant à gauche à droite. J'ai compris que, lors de la création de compte, il n'était pas obligatoire d'entrer une adresse client, ce qui faisait crasher au moment d'entrer le panier. J'ai donc mis (probablement remis, parce que tout les comptes créés avant disposaient d'une adresse) l'adresse obligatoire. Et la solution en sparadrap a fonctionné pendant un temps.

 

Cependant, depuis, j'obtiens des fatal error dans la situation où :

 

- on est loggé sur son compte

- on a un produit dans son panier

- on change la devise (d'un sens comme dans l'autre)

 

Notez qu'en rafraîchissant la page on sort du Fatal Error.

 

Ce qui, comme m'a signalé un autre client, fait planter le site au moment de payer par Paypal depuis un affichage en € (puisque Paypal fait le paiement en CHF, ce qui est ma devise de référence, j'imagine que ça switche automatiquement).

 

Si certains d'entre vous ont des pistes ou ont déjà croisé le problème ailleurs, je suis preneur :)

 

Mon shop est par là : https://sympa-bonnard.ch/

 

Merci d'avoir pris le temps de me lire ;)

 

 

Type d’install : ancienne. Mais PHP récemment mis à jour vers 7.0
Version de PS : 1.6.1.4
URL du site concerné https://sympa-bonnard.ch
Thème : Auricus
Code : modifié à de rares endroits, mais surtout en CSS
Hébergement : EasyGiga
Version de PHP : 7.0.21
Navigateur(s) concerné(s) : Chrome, Firefox

Edited by MrBeaner (see edit history)
Link to comment
Share on other sites

Donc ça pète là (à l'appel de la fonction getPriceStatic() )

        // If there is cart in context or if the specified id_cart is different from the context cart id
        if (!is_object($cur_cart) || (Validate::isUnsignedInt($id_cart) && $id_cart && $cur_cart->id != $id_cart)) {
            /*
            * When a user (e.g., guest, customer, Google...) is on PrestaShop, he has already its cart as the global (see /init.php)
            * When a non-user calls directly this method (e.g., payment module...) is on PrestaShop, he does not have already it BUT knows the cart ID
            * When called from the back office, cart ID can be inexistant
            */
            if (!$id_cart && !isset($context->employee)) {
                die(Tools::displayError());
            }
            $cur_cart = new Cart($id_cart);
            // Store cart in context to avoid multiple instantiations in BO
            if (!Validate::isLoadedObject($context->cart)) {
                $context->cart = $cur_cart;
            }
        }

Après avoir été appelé par le module mailchimpIntegration.

 

Désactivez le module et refaites l'essai, là c'est comme s'il n'y avait plus d'id_cart ou que celui présent dans le contexte n'était pas celui du cookie...

  • Like 1
Link to comment
Share on other sites

Merci beaucoup ! En effet, ça a réglé le problème ;)

Je l'ai mis à jour puis réinstallé et tout roule désormais ! J'aurais dû y penser, mais ça m'avait pas traversé l'esprit. Merci beaucoup pour votre aide précieuse et rapide.

 

Je marque le sujet comme Résolu donc :)

Link to comment
Share on other sites

Create an account or sign in to comment

You need to be a member in order to leave a comment

Create an account

Sign up for a new account in our community. It's easy!

Register a new account

Sign in

Already have an account? Sign in here.

Sign In Now
×
×
  • Create New...