MrBeaner Posted August 14, 2017 Share Posted August 14, 2017 (edited) 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.0Version de PS : 1.6.1.4URL du site concerné : https://sympa-bonnard.chThème : AuricusCode : modifié à de rares endroits, mais surtout en CSSHébergement : EasyGigaVersion de PHP : 7.0.21Navigateur(s) concerné(s) : Chrome, Firefox Edited August 14, 2017 by MrBeaner (see edit history) Link to comment Share on other sites More sharing options...
Eolia Posted August 14, 2017 Share Posted August 14, 2017 Prestashop n'est pas compatible PHP 7 avant la 1.6.1.8 Link to comment Share on other sites More sharing options...
MrBeaner Posted August 14, 2017 Author Share Posted August 14, 2017 (edited) Ah bon à savoir du coup ! Merci. Je vais essayer d'upgrader via le module de mise à jour en un clic de Presta Je regarde si ça marche et je reviens vers vous Edited August 14, 2017 by MrBeaner (see edit history) Link to comment Share on other sites More sharing options...
MrBeaner Posted August 14, 2017 Author Share Posted August 14, 2017 Mise à jour effectuée (vers 1.6.1.16) ! Malheureusement, à part causer des soucis avec un module, le problème est toujours là... Link to comment Share on other sites More sharing options...
Eolia Posted August 14, 2017 Share Posted August 14, 2017 Avez-vous activé le mode debug pour en savoir plus sur cette erreur ? Link to comment Share on other sites More sharing options...
MrBeaner Posted August 14, 2017 Author Share Posted August 14, 2017 Non. Merci pour la piste, je vais l'activer et reproduire l'erreur. Je reviens. Link to comment Share on other sites More sharing options...
MrBeaner Posted August 14, 2017 Author Share Posted August 14, 2017 J'ai donc activé le mode debug et j'ai switcher de devise en étant loggé et en ayant quelque chose dans le panier. C'est trop gros pour les balises code, donc je l'ai copié dans un fichier txt : https://drive.google.com/open?id=0B2mi4l0ksg4BaGI4QnJ2ZmhvSTgEst-ce qu'il y a quelque chose à chercher en particulier dedans ? C'est long Link to comment Share on other sites More sharing options...
Eolia Posted August 14, 2017 Share Posted August 14, 2017 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... 1 Link to comment Share on other sites More sharing options...
MrBeaner Posted August 14, 2017 Author Share Posted August 14, 2017 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 More sharing options...
Eolia Posted August 14, 2017 Share Posted August 14, 2017 Link to comment Share on other sites More sharing options...
Recommended Posts
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 accountSign in
Already have an account? Sign in here.
Sign In Now