Kapitola 18 · 18.1
Můj web je bílý nebo zobrazuje chybu 500
Otevřete svůj web a vidíte bílou obrazovku, hlášení 500 Internal Server Error, HTTP ERROR 500 nebo u WordPressu Došlo ke kritické chybě na této webové stránce. To téměř vždy znamená, že se kód Vašeho webu zasekl. Server samotný přitom obvykle funguje normálně. Pomocí níže uvedených kroků ve většině případů najdete příčinu sami.
Nejprve: co se právě změnilo?
Chyba 500 se téměř nikdy neobjeví jen tak. Zkuste si vzpomenout na poslední hodiny nebo dny:
- Aktualizovali jste plugin, šablonu nebo samotný WordPress, nebo to udělal WordPress automaticky?
- Změnili jste verzi PHP?
- Upravili jste něco v souboru .htaccess, nebo jste vytvořili přesměrování či chráněnou složku?
- Nahráli jste soubory nebo změnili oprávnění souborů?
Pokud víte, co to bylo, nejprve přesně tuto změnu vraťte zpět. To je obvykle nejrychlejší řešení.
Krok 1: podívejte se do chybového logu
Chybový log Vám přesně řekne, který soubor a který řádek chybu způsobuje. Najdete ho v DirectAdmin v sekci Systémové informace a Soubory a poté Souhrn webu a logy. Vyberte svou doménu a otevřete chybový log. Podívejte se na spodní řádky, ty jsou nejnovější. Jak to přesně funguje, si přečtěte v Souhrn webu a logy: log chyb a log přístupů.
Pokud tam například vidíte PHP Fatal error s cestou k wp-content/plugins/nazev-pluginu, hned víte, který plugin je viníkem.
Krok 2: nejčastější příčiny
Níže jsou uvedeny příčiny od nejčastějších po nejvzácnější.
1. Plugin nebo šablona po aktualizaci
Toto je zdaleka nejčastější příčina u WordPressu. Pokud se už nedostanete do administrace WordPressu, vypněte pluginy přes DirectAdmin:
- Otevřete Správce souborů (viz Otevření Správce souborů: složky ve Vašem balíčku).
- Přejděte do domains/vasedomena.cz/public_html/wp-content.
- Přejmenujte složku plugins například na plugins-vyp. WordPress tím vypne všechny pluginy.
- Funguje Váš web znovu? Přejmenujte složku zpět na plugins a ve WordPressu postupně zapínejte pluginy jeden po druhém, dokud se chyba znovu neobjeví. Pak budete vědět, který plugin to je.
Pokud už víte, který plugin to je (z chybového logu), přejmenujte pouze složku tohoto pluginu. WordPress při kritické chybě často také posílá e-mail na adresu správce s odkazem na obnovovací režim. Podívejte se tedy i do schránky.
2. Verze PHP neodpovídá Vašemu webu
Starý web často nefunguje na nové verzi PHP a nový plugin někdy nefunguje na staré verzi. Pokud jste nedávno změnili verzi PHP, vraťte ji zpět v Select PHP version (viz Výběr verze PHP (Select PHP version)). V Fouten na een PHP-upgrade en het foutlog vinden se dočtete, jak následně web připravit na novější verzi.
Tip: Nebyl Váš web už léta aktualizován a nefunguje na moderní verzi PHP? Můžeme ho pro Vás aktualizovat. Podívejte se na www.weboke.nl/website-php-upgrade.
3. Chyba v souboru .htaccess
Jediný chybný řádek v souboru .htaccess okamžitě způsobí chybu 500 pro celý web. Známým příkladem je řádek, který zanechal bezpečnostní plugin, například php_value auto_prepend_file s cestou k souboru, který už neexistuje (například od Wordfence nebo All In One WP Security). Otestujte to takto:
- Zapněte ve Správci souborů zobrazení skrytých souborů (viz Zobrazení a úprava skrytých souborů jako .htaccess).
- Přejmenujte .htaccess ve složce public_html na .htaccess-stary.
- Funguje web nyní (případně bez pěkných adres)? Pak je chyba v tomto souboru. Odstraňte chybný řádek a soubor přejmenujte zpět.
Nastavení PHP, jako je maximální velikost nahrávání, nejsnáze nastavíte v Select PHP version (viz PHP možnosti: upload_max_filesize, memory_limit a max_execution_time). Řádek s php_value v souboru .htaccess je také možný (viz PHP nastavení podle adresáře a přes .htaccess).
4. Nedostatek paměti pro PHP
Pokud je v chybovém logu uvedeno Allowed memory size of ... bytes exhausted, skript potřebuje více paměti, než smí PHP využít. Zvyšte hodnotu memory_limit v nastavení Select PHP version (viz PHP možnosti: upload_max_filesize, memory_limit a max_execution_time).
5. Nesprávná oprávnění souborů
Pokud mají složky nebo soubory příliš volná oprávnění (například 777), server je odmítne spustit. Složky by měly mít oprávnění 755 a soubory 644. Jak to upravit, se dočtete v Práva souborů a složek (chmod).
6. Úložiště Vašeho balíčku je plné
Pokud je Váš balíček plný, web již nemůže ukládat dočasné soubory ani relace. Podívejte se na nástěnce DirectAdmin do sekce Prostor na disku. Co dělat dál, se dočtete v Úložiště je plné: kde se nachází volný prostor?.
7. Méně často: databáze, limity nebo hacknutí
- Vidíte Error establishing a database connection? Přečtěte si „Error establishing a database connection“.
- Vidíte chybu 503 nebo Resource Limit Is Reached? Pak Váš balíček naráží na svůj výkonnostní limit. Přečtěte si 503 nebo "Resource Limit Is Reached": co dělat?.
- Objevují se soubory, které neznáte, nebo web přesměrovává návštěvníky na podivné weby? Přečtěte si Moje webová stránka byla napadena: postup krok za krokem.
Bílá obrazovka bez hlášení
Při bílé obrazovce PHP záměrně nezobrazuje chybové hlášení návštěvníkům. Chybový log z kroku 1 je v tomto případě Vaším nejlepším zdrojem. U WordPressu můžete také dočasně nastavit define('WP_DEBUG', true); v souboru wp-config.php. Poté to opět nastavte zpět na false, jinak návštěvníci uvidí technické podrobnosti o Vašem webu.
Další chybové kódy ve zkratce
| Hlášení | Co to znamená? | Kde se dočtete více? |
|---|---|---|
| 403 Forbidden | Server odmítá stránku zobrazit, například kvůli firewallu Vašeho webu, oprávněním nebo chybějícímu indexovému souboru. | Chyba 403 nebo 406 při ukládání nebo nahrávání |
| 404 Not Found | Stránka nebo soubor na daném místě neexistuje. Nachází se Váš web ve složce public_html správné domény? Dejte pozor na velká a malá písmena v názvech souborů. | Otevření Správce souborů: složky ve Vašem balíčku |
| 413 Request Entity Too Large | To, co nahráváte, je větší, než je povoleno. | Nahrávání příliš velké (chyba 413) nebo časový limit vypršel |
| 500 Internal Server Error | Kód Vašeho webu se zasekl. | Tento článek |
| 503 nebo 508, Resource Limit Is Reached | Váš balíček dočasně využívá více výkonu, než je povoleno. | 503 nebo "Resource Limit Is Reached": co dělat? |
| Stránka WebOké místo Vašeho webu | Doména ještě není (správně) nastavena ve Vašem hostingovém balíčku, nebo DNS stále směřuje jinam. | Moje doména po převodu nebo změně ještě nefunguje |
Zpět na funkční verzi
Nedaří se Vám najít řešení a web ještě včera fungoval? Obnovte zálohu. V Mijn WebOké to lze provést pomocí WebOké Backups: vyberte okamžik před vznikem chyby a obnovte pouze složku svého webu a případně databázi (viz Jde to i v Mijn WebOké? WebOké Backups). Pokud používáte Installatron, můžete obnovit i zálohu z Installatron (viz Zálohování a obnova v Installatronu).
Tip: Pomocí Zdraví domény na www.weboke.nl/domein-gezondheid jedním pohledem zjistíte, zda jsou Vaše doména, A záznam, web a SSL certifikát v pořádku. U Web se pak zobrazí například Odpovídá chybou serveru (HTTP 500).
