Error 500 po potvrzení objednávky

Vyřešeno256 zhlédnutíRedakční systémy
0

Dobrý den, stala se mi taková věc. Když vyzkouším udělat objednávku na svém eshopu naturmetika.cz, který běží na Pestashopu 1.6.1 instalovanému tady přes Wedos, aby vše klapalo, když kliknu na potvrzení objednávky (odeslání), tak se mi zobrazí chyba:

„Tato stránka teď nefunguje

Server naturmetika.cz nemůže tento požadavek aktuálně zpracovat.

HTTP ERROR 500″
Avšak v administraci objednávka je, dokonce přijdou i potvrzovací emaily.

V poslední době jsem nic neměnila. Chodí objednávky a nikdo si nestěžoval, že by mu to hlásilo chybu. Dnes večer jsem zkusila udělat objednávku, protože jsem řešila něco v Google Analytics, který mi mimichodem nezobrazuje konverze, tedy uskutečněné objednávky, a přišla jsem na tento error.

Po zapnutí error logu mi to hlásí:

Deprecated: Function mcrypt_decrypt() is deprecated in /data/web/virtuals/46141/virtual/www/domains/naturmetika.cz/classes/Rijndael.php on line 68

Warning: Cannot modify header information – headers already sent by (output started at /data/web/virtuals/46141/virtual/www/domains/naturmetika.cz/classes/Rijndael.php:68) in /data/web/virtuals/46141/virtual/www/domains/naturmetika.cz/classes/Tools.php on line 241

Netušíte, kde by mohl být problém?
Děkuji.

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

Zdravím,
skript použil funkci mcrypt_decrypt(), která funguje, ale v dalších verzích (tuším PHP 7.2) už nebude. Vzhledem k tomu, že je zapnuto hlášení všech chyb, varování, zpráv atd., tak došlo k vypsání chyby.

Bohužel toto vypsání chyby proběhlo dříve než došlo k modifikaci hlavičky dokumentu (modify header information), což vedlo k vypsání varování. Než se modifikují hlavičky nesmí se nic vypsat.

Řešením je vypnout varování o deprecated funkcích. V error_reporting() zřejmě máte E_ALL je třeba to nahradit:

error_reporting(E_ALL ^ E_DEPRECATED);

viz. https://www.php.net/manual/en/errorfunc.constants.php

Role: Zákazník+ Web: https://404m.com Vizitka: Neprogramuj dnes, co nemůžeš debugovat zítra.
publikoval nový komentář

Dobrý den,
děkuji za tip.
Mám dva eshopy na prestashpu, shodná verze, PHP mají shodně 7.1 a jeden jede v pořádku, druhý ne. Navíc i tento jel dlouhou dobu bez problémů.
Vyzkoušela jsem změnit error_reporting ale nepomohlo. Možná špatný soubor (defines.inc.php) Ve kterém bych ho měla jinde hledat?

Jestli myslíte v souboru php.ini tak k tomu se u Wedosu nedostanu.

Prohlížíte 1 ze 3 odpovědí, klikněte zde pro zobrazení všech odpovědí.

Kategorie