Error 500 po potvrzení objednávky
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.
3 Answers
Dobrý den,
dle některých fór by mohla pomoci ještě změna php verze, změnil jsem ji tedy na 7.0, zkuste to nyní. Pokud Vám to nepomůže, deaktivujte Log podobně jako jste jej předtím aktivovala.
Osobně doporučím přechod na novou verzi Prestashopu i PHP z bezpečnostních důvodů a z důvodů lepší podpory.


Dobrý den,
update Prestashopu je ze zkušenosti dosti zrádný a může se protáhnout. Mohu Vám nabídnou instalaci nového Prestashopu například na subdoméně, kde si web vytvoříte znovu a případně importuje produkty. Poté lze nový web zveřejnit na hlavní doméně. V tomto případě by se jednalo o instalace CMS dle ceníku – https://www.wedos.cz/webhosting/priplatkove-sluzby
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);

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.

Mohl byste mi tedy poradit, kde a jak ta hlášení vypnout? Díky
Dobrý den,
změna PHP verze nepomohla. Dělá to pořád. Error log mám deaktivovaný.
Kolik by stálo u vás převést eshop z aktuální verze na nejnovější? Na toto si již sama netroufnu, po již v minulosti nezdařeném upgradu.
Jen mi tedy není pořád jasné, jak je možné, že absolutně stejné dva eshopy, totožný systém, totožný poskytovatel webhostingu, stejné nastavení. A jeden to dělá a druhý ne.