Co je chyba 500: Internal Server Error
Chyba 500 (Internal Server Error) je obecný problém se serverem webové stránky. Je více než pravděpodobné, že se jedná o problém nebo dočasnou závadu v programování webových stránek.
Tento stavový kód HTTP jednoduše říká, že při zpracování požadavku něco selhalo, ale server nedokáže specifikovat důvod.
Chyba 500 se může projevit různými zprávami, například:
- „The server encountered an internal error and was unable to complete your request.“
- „Error 500: Vnitřní chyba.“
- „Stránka nefunguje“ nebo „Server vrátil chybu 500.“
Chyba 500 je univerzální a může se objevit ve všech prohlížečích a operačních systémech. Její výskyt nesouvisí s konkrétním prohlížečem, takže ji mohou vidět všichni uživatelé bez ohledu na používané zařízení.
Nejčastější příčiny chyby 500
- Poškozený soubor .htaccess, např. po instalaci pluginů nebo nové konfiguraci serveru.
- Chyba v nastavení přístupových práv k souborům, která zabrání jejich načítání (v tomto případě ale server zpravidla vrátí chybu 403).
- Chybné zásuvné moduly nebo šablony mohou způsobit chyby v zabezpečení nebo kompatibilitě.
- Překročení limitu paměti PHP (PHP memory_limit), kdy je server přetížený a nestíhá vyřizovat požadavky.
Jak chybu 500 opravit
Na rozdíl od jiných chyb na serveru, vám chyba 500 okamžitě neřekne, v čem je problém, ani jak ho opravit.
- Obnovte stránku: Může jít o dočasný problém, který vyřeší opětovné načtení.
- Vraťte se později: Server může být přetížený nebo se jedná o přechodný problém, který správci opravují.
- Vymažte soubory cookie: Někdy pomůže odstranění souborů cookie, které mohou být spojeny s chybnou verzí stránky.
- Ověřte dostupnost stránky: Navštivte např. stránku Down for Everyone or Just Me a zkontrolujte, zda je web nedostupný pouze pro vás, nebo pro všechny uživatele.
Jak odstranit chybu 500 na vlastním webu
Pro majitele webů představuje chyba 500 poměrně zásadní problém.
Pokud na vašem webu přetrvává příliš dlouho, může dokonce negativně ovlivnit vaši SEO optimalizaci.
Proto neotálejte s nápravou, jakmile na chybu 500 na svém webu narazíte.
- Obnovte stránku a vymažte cache prohlížeče: Prvním krokem je vyzkoušet, zda se problém nevyřeší obnovením stránky nebo vymazáním cache. Pokud je problém dočasný, stránka by se měla načíst správně.
- Zkontrolujte serverové logy: Záznamy o chybách na serveru (server logs) vám mohou poskytnout konkrétní informace o tom, co způsobilo chybu. Přihlaste se k serveru nebo požádejte poskytovatele hostingu o přístup k logům a podívejte se na poslední záznamy, abyste identifikovali příčinu.
- Zkontrolujte soubor .htaccess: Ověřte, zda tento soubor neobsahuje chyby, případně jej dočasně přejmenujte nebo odstraňte, abyste zjistili, zda chyba zmizí.
- Zkontrolujte oprávnění k souborům a složkám: Přístupová práva by měla být nastavena na 644 pro soubory a 755 pro složky. Špatná oprávnění mohou způsobit chyby při načítání souborů a výsledkem může být právě chyba 500.
- Deaktivujte pluginy a šablony: U CMS, jako je WordPress, mohou některé pluginy nebo šablony způsobit chybu 500. Deaktivujte a poté postupně znovu aktivujte všechny pluginy a šablony, abyste zjistili, který z nich problém způsobuje.
Pokud jste vyzkoušeli všechny výše uvedené kroky a chyba 500 přetrvává, obraťte se na podporu poskytovatele svého webhostingu.
Ten může mít přístup k podrobnějším informacím o serveru a často vám může pomoci problém diagnostikovat a opravit.
Chyba 500 a PHP memory_limit
Je-li příčinou chyby 500 překročení PHP memory_limitu, bude náprava zdlouhavější.
Váš web totiž možná obsahuje náročné skripty nebo aplikace, které jej neúměrně zatěžují.
V takovém případě bude potřeba web optimalizovat tak, abyste snížili spotřebu paměti a zabránili jejímu překročení.
Zde jsou kroky, které můžete podniknout:
- Optimalizujte kód a skripty: Zjednodušte PHP skripty a vyhněte se náročným operacím, které spotřebovávají mnoho paměti. Například minimalizujte opakované databázové dotazy.
- Využití cachování: Nasazení cachování výrazně snižuje počet požadavků na server a snižuje potřebu opětovného načítání dat z databáze. Použijte cache plugin nebo servery pro ukládání do cache.
- Omezte počet pluginů a šablon: Některé pluginy nebo šablony mohou mít vysoké nároky na paměť, zejména pokud provádějí složité operace. Deaktivujte nepotřebné pluginy a používejte jen ty, které jsou optimalizované a pravidelně aktualizované.
- Pravidelné čistěte databázi: Velké databáze mohou zvýšit paměťové nároky. Pravidelně odstraňujte nevyužívaná data, například staré revize příspěvků, automatické koncepty nebo logy. Tím snížíte množství dat, která musí server zpracovávat.
- Zamezte nadměrnému využívání rekurzí a složitých funkcí: Rekurzivní funkce nebo složité algoritmy mohou rychle spotřebovat paměť. Optimalizujte kód tak, aby se vyhnul rekurzím nebo náročným výpočtům.
Minimalizujte velikost a počet souborů: Práce s velkými soubory, obrázky nebo videi může vyčerpat paměť. Optimalizujte velikost souborů a zvažte jejich načítání pomocí CDN, aby snížili nároky na server.