Při chybě v PHP aplikaci uvidíte buď prázdnou bílou stránku, nebo chybu 500. Příčina se pozná z chybové hlášky. Ta je ale na ostrém webu z bezpečnostních důvodů skrytá a ukládá se do logu.
1. Podívejte se do chybového logu
Poslední chyby najdete v chybovém logu webu. Pokud k němu nemáte přístup nebo ho nevidíte, napište nám a pošleme vám posledních několik řádků. Řádek s chybou obsahuje typ chyby, popis, soubor a číslo řádku.
2. Zapněte ladění v aplikaci
WordPress: v souboru wp-config.php nastavte:
define( 'WP_DEBUG', true ); define( 'WP_DEBUG_LOG', true ); define( 'WP_DEBUG_DISPLAY', false );
Chyby se pak zapisují do souboru wp-content/debug.log a návštěvníkům se nezobrazují.
Vlastní PHP skript: na začátek souboru můžete dočasně přidat:
ini_set( 'display_errors', '1' ); error_reporting( E_ALL );
Po nalezení chyby tyto řádky vždy odstraňte. Zobrazené chyby prozrazují cesty a údaje o serveru.
Nejčastější hlášky
| Parse error / syntax error | Chyba v zápisu kódu (chybějící středník nebo závorka). Často po ruční úpravě souboru. |
| Call to undefined function | Funkce neexistuje. Chybí rozšíření, nebo byla v dané verzi PHP odstraněna. Viz Přechod na novější verzi PHP. |
| Class not found | Třída se nenačetla. Často neúplně nahrané soubory nebo chybějící knihovna. |
| Allowed memory size exhausted | Vyčerpán memory limit. Viz PHP memory limit. |
| Maximum execution time exceeded | Skript běžel příliš dlouho. U velkých importů zpracujte data po částech. |
| Uncaught TypeError | Funkce dostala jiný typ hodnoty, než čekala. Typicky po přechodu na novější PHP, kde jsou kontroly přísnější. |
Postup, když nevíte, co se stalo
- Vzpomeňte si, co se změnilo těsně před problémem: aktualizace, nový plugin, změna verze PHP.
- Změnu vraťte (plugin vypněte, verzi PHP přepněte zpět).
- Potom ladění zapněte a příčinu opravte.
Další typy chyb webu jsou popsány v článku Chyby 403, 404 a 500.