Prestashop – chyba 500 při objednávce

Vyřešeno1.59K zhlédnutíWebhosting
0

Tento problém je trochu podivný. Na webhostingu běží Prestahop 1.7.x, pokud při objednávce vyplním v objednávkovém formuláři údaje a projdu celý proces do konce, objednávka se dokončí bez chyby. Pokud však v místě objednávkové formuláře zavřu prohlížeč, opět otevřu (v košíku jsou produkty díky cookies), vyplním objednávkový formulář a odešlu, tak to hodí chybu 500. Nejpodivnější na tom je, že pokud nastavím DEBUG = TRUE, tak to celé funguje perfektně bez chyby. Nesetkal se s tím někdo? Děkuji.

Role: Zákazník
Otázka je uzamčena pro nové odpovědi.
RM130195 Vybral nejlepší odpověď 24. 2. 2020
0

Tak jsem na to přišel. Aktivoval jsem si dočasný error log, který chybu zachytil. Jednalo se o modul Mailchimpu, který jsem tedy odinstaloval a již to jde.

Got error 'PHP message: PHP Fatal error:  Uncaught TypeError: Argument 3 passed to PrestaChamps\\MailchimpPro\\Hooks\\Action\\Customer\\AccountUpdate::run() must be an instance of Customer, null given, called in  /www/modules/mailchimppro/mailchimppro.php on line 789 and defined in  /www/modules/mailchimppro/src/PrestaChamps/MailchimpPro/Hooks/Action/Customer/AccountUpdate.php:57\\nStack trace:\\n#0  /www/modules/mailchimppro/mailchimppro.php(789): PrestaChamps\\MailchimpPro\\Hooks\\Action\\Customer\\AccountUpdate::run(Object(Context), Object(DrewM\\MailChimp\\MailChimp), NULL)\\n#1  /www/classes/Hook.php(970): Mailchimppro->hookActionCustomerAccountUpdate(Array)\\n#2  /www/classes/Hook.php(355): HookCore::coreCallHook(Object(Mailchimppro), 'hookactionCusto...', Array)\\n#3  /www/classes/Hook.php(907): HookCore::callHookOn(Object(Mailchimppro), 'act...\\n'AH01071: Got error 'PHP message: PHP Fatal error:  Uncaught TypeError: Argument 3 passed to PrestaChamps\\MailchimpPro\\Hooks\\Action\\Customer\\AccountUpdate::run() must be an instance of Customer, null given, called in  /www/modules/mailchimppro/mailchimppro.php on line 789 and defined in  /www/modules/mailchimppro/src/PrestaChamps/MailchimpPro/Hooks/Action/Customer/AccountUpdate.php:57\\nStack trace:\\n#0  /www/modules/mailchimppro/mailchimppro.php(789): PrestaChamps\\MailchimpPro\\Hooks\\Action\\Customer\\AccountUpdate::run(Object(Context), Object(DrewM\\MailChimp\\MailChimp), NULL)\\n#1  /www/classes/Hook.php(970): Mailchimppro->hookActionCustomerAccountUpdate(Array)\\n#2  /www/classes/Hook.php(355): HookCore::coreCallHook(Object(Mailchimppro), 'hookactionCusto...', Array)\\n#3  /www/classes/Hook.php(907): HookCore::callHookOn(Object(Mailchimppro), 'act...\\n'

Role: Zákazník
RM130195 Vybral nejlepší odpověď 24. 2. 2020
0
46.10K Odpověď od WEDOS Internet, a.s. 0 Comments

To se stává při nekompatibilní verzi PHP, pokud používáte PHP 7, zkuste snížit verzi na 5.6.

Role: Podpora Web: https://wedos.cz Vizitka: Produktový manažer.
RM130195 Odpověděl na otázku 20. 2. 2020
0

Děkuji za odpověď, PHP jsem přehodil na 5.6, ale stále to nefunguje.

Role: Zákazník
PK265670 Změnil status na publikováno 20. 2. 2020
0
46.10K Odpověď od WEDOS Internet, a.s. 0 Comments

Změny verze PHP se projeví do 30 minut, je potřeba před opětovným testováním počkat.

Stává se to se všemi platebními metodami nebo jen s nějakou konkrétní? V takovém případě zkuste přeinstalovat platební modul, se kterým je problém.

Role: Podpora Web: https://wedos.cz Vizitka: Produktový manažer.
RM130195 Odpověděl na otázku 21. 2. 2020
0

Dobrý den,

děkuji za rady. Při změně jsem počkal delší dobu (přes hodinu) a stejně. Někde jsem našel, že je i lepší v těchto případech vymazat adresář /var/cache/dev a /var/cache/prod, což mi vyřešilo jiný problém, ale tento ne. Bohužel na výběr dopravce a plateb se nedostanu, jedná se o objednávku v 5ti krocích a chyba nastává mezi 1. (osobní údaje) a 2. (adresa), viz. obr.. Když mám zboží v košíku poprvé tak 5ti kroky projdete a objednáte bez problému. Problém nastává, když vyplníte první krok (osobní údaje), dáte pokračovat, otevře se druhý krok a vy u druhého kroku zavřete okno prohlížeče. Poté ho znova otevřete, tak se zobrazí opět krok 1. již předvyplněný, dáte jen pokračovat a hned to hodí chybu 500. Od té doby si neobjednáte dokud nevymažete cookies nebo neotevřete anonymní okno (tím vlastně v obou případech přijdete o košík). Zkusím se zaměřit na objednávkový modul (je to výchozí Presty) a košík.

Role: Zákazník
JŠ255861 Změnil status na publikováno 24. 2. 2020