22. 4. 2013

Chyba 500 a jak na ní? [ PHP ]

Při tvorbě eshopu přes redakční systém jsem narazil na velmi známou chybu 500, která vypadá například takto :




Při tomto erroru nelze defaultně zjistit, co přesně ve Vašem PHP skriptu chybu způsobuje, pokud nemáte na webu nastavený tzv. error_reporting. Jedná se o 4 druhy nastavení PHP, které je možné do hostingu implantovat. Následně se Vám místo této nic neříkající hlášky zobrazí i chybová hlášení, pro snadnou opravu skriptu. 

Error 500 může být způsobený hned několika faktory, které je nejprve potřeba zkontrolovat například ZDE

V mém případě šlo o systém PrestaShop, který můžete během několika vteřin nahrát na Váš hosting přes automatický upload. Pro zobrazení chyby jsem použil reporting pomocí .user.ini, který je použitelný pouze v PHP 5.3.0 a vyšší, který mám hostovaný na www.onebit.cz

V základní složce, kde máte umístěné webové stránky vytvoříte např. v poznámkovém bloku soubor s názvem ".user.ini" ( nezapomínejte na tečku, bez které nebude soubor fungovat! ), tento soubor musí obsahovat následující:

error_reporting = E_ALL & ~E_DEPRECATED
display_errors = 1

Po nahrání tohoto souboru a po aktualizaci webových stránek se Vám následně řádek se špatným skriptem zobrazí a můžete problém vyřešit.