Rozdział 18 · 18.1
Moja strona jest biała lub wyświetla błąd 500
Otwierają Państwo swoją stronę i widzą biały ekran, komunikat 500 Internal Server Error, HTTP ERROR 500 lub w przypadku WordPress Wystąpił krytyczny błąd na tej stronie. Oznacza to niemal zawsze, że kod witryny zawiesza się. Sam serwer zazwyczaj działa prawidłowo. Dzięki krokom poniżej w większości przypadków sami znajdą Państwo przyczynę.
Najpierw: co się ostatnio zmieniło?
Błąd 500 niemal nigdy nie pojawia się znikąd. Proszę przypomnieć sobie ostatnie godziny lub dni:
- Czy zaktualizowali Państwo wtyczkę, motyw lub sam WordPress, albo czy WordPress zrobił to automatycznie?
- Czy zmienili Państwo wersję PHP?
- Czy wprowadzili Państwo zmiany w pliku .htaccess lub utworzyli przekierowanie bądź zabezpieczony katalog?
- Czy przesyłali Państwo pliki lub zmieniali uprawnienia plików?
Jeśli wiedzą Państwo, co to było, proszę najpierw cofnąć dokładnie tę zmianę. To zazwyczaj najszybsze rozwiązanie.
Krok 1: proszę sprawdzić log błędów
Log błędów podaje dokładnie, który plik i która linia powoduje błąd. Znajdą go Państwo w DirectAdmin w sekcji Informacje o systemie i Pliki, a następnie Podsumowanie witryny i Logi. Proszę wybrać domenę i otworzyć log błędów. Proszę zwrócić uwagę na ostatnie linie, są one najnowsze. Dokładny opis działania znajdą Państwo w Podsumowanie witryny i logi: log błędów i log dostępu.
Jeśli widzą Państwo na przykład PHP Fatal error ze ścieżką do wp-content/plugins/nazwa-wtyczki, od razu wiadomo, która wtyczka jest winowajcą.
Krok 2: najczęstsze przyczyny
Poniżej przyczyny uszeregowane od najczęstszych do najrzadszych.
1. Wtyczka lub motyw po aktualizacji
To zdecydowanie najczęstsza przyczyna w przypadku WordPress. Jeśli nie mogą Państwo wejść do panelu administracyjnego WordPress, proszę wyłączyć wtyczki poprzez DirectAdmin:
- Proszę otworzyć Menedżer Plików (zob. Otwieranie Menedżera Plików: foldery w Państwa pakiecie).
- Proszę przejść do domains/twojadomena.nl/public_html/wp-content.
- Proszę zmienić nazwę katalogu plugins na na przykład plugins-uit. WordPress wyłączy wtedy wszystkie wtyczki.
- Czy strona znów działa? Proszę przywrócić pierwotną nazwę katalogu plugins i w WordPress włączać wtyczki jedna po drugiej, aż błąd powróci. Wtedy będą Państwo wiedzieć, która wtyczka jest przyczyną.
Jeśli już wiedzą Państwo, która to wtyczka (z logu błędów), proszę zmienić nazwę tylko katalogu tej wtyczki. WordPress przy krytycznym błędzie często wysyła też wiadomość e-mail na adres administratora z linkiem do trybu naprawy. Proszę zatem sprawdzić również swoją skrzynkę pocztową.
2. Wersja PHP nie pasuje do witryny
Starsza witryna często nie działa na nowej wersji PHP, a nowa wtyczka czasem nie działa na starej. Jeśli właśnie zmienili Państwo wersję PHP, proszę przywrócić poprzednią wersję w Select PHP version (zob. Wybór wersji PHP (Select PHP version)). W Fouten na een PHP-upgrade en het foutlog vinden znajdą Państwo opis, jak później dostosować stronę do nowszej wersji.
Wskazówka: Czy Państwa witryna od lat nie była aktualizowana i nie działa już na nowoczesnej wersji PHP? Możemy ją dla Państwa zaktualizować. Proszę sprawdzić na www.weboke.nl/website-php-upgrade.
3. Błąd w pliku .htaccess
Jedna niewłaściwa linia w pliku .htaccess powoduje natychmiastowy błąd 500 dla całej witryny. Znanym przykładem jest linia pozostawiona przez wtyczkę zabezpieczającą, taka jak php_value auto_prepend_file ze ścieżką do pliku, który już nie istnieje (na przykład z Wordfence lub All In One WP Security). Proszę przetestować w ten sposób:
- Proszę włączyć widoczność ukrytych plików w Menedżerze Plików (zob. Pokazywanie i edycja ukrytych plików, takich jak .htaccess).
- Proszę zmienić nazwę pliku .htaccess w public_html na .htaccess-oud.
- Jeśli strona teraz działa (ewentualnie bez przyjaznych adresów), błąd znajduje się w tym pliku. Proszę usunąć błędną linię i przywrócić pierwotną nazwę pliku.
Ustawienia PHP, takie jak maksymalny rozmiar przesyłanych plików, najłatwiej skonfigurować w Select PHP version (zob. Opcje PHP: upload_max_filesize, memory_limit i max_execution_time). Linia z php_value w pliku .htaccess również jest możliwa (zob. Ustawienia PHP dla poszczególnych katalogów i przez .htaccess).
4. Za mało pamięci dla PHP
Jeśli w logu błędów widnieje Allowed memory size of ... bytes exhausted, oznacza to, że skrypt potrzebuje więcej pamięci, niż może wykorzystać PHP. Proszę zwiększyć wartość memory_limit w opcjach Select PHP version (zob. Opcje PHP: upload_max_filesize, memory_limit i max_execution_time).
5. Niewłaściwe uprawnienia plików
Jeśli katalogi lub pliki mają zbyt szerokie uprawnienia (na przykład 777), serwer odmawia ich wykonania. Katalogi powinny mieć uprawnienia 755, a pliki 644. Jak to zmienić, przeczytają Państwo w Uprawnienia plików i katalogów (chmod).
6. Przestrzeń dyskowa pakietu jest pełna
Jeśli pakiet jest pełny, witryna nie może już zapisywać plików tymczasowych ani sesji. Proszę sprawdzić w panelu głównym DirectAdmin sekcję Przestrzeń Dyskowa. Co wtedy zrobić, przeczytają Państwo w Przestrzeń dyskowa pełna: gdzie znika miejsce?.
7. Rzadziej: baza danych, limity lub włamanie
- Widzą Państwo Error establishing a database connection? Proszę przeczytać 'Error establishing a database connection'.
- Widzą Państwo błąd 503 lub Resource Limit Is Reached? Oznacza to, że pakiet osiągnął limit swojej mocy obliczeniowej. Proszę przeczytać 503 of 'Resource Limit Is Reached': co teraz zrobić?.
- Pojawiają się pliki, których Państwo nie rozpoznają, albo strona przekierowuje odwiedzających do dziwnych witryn? Proszę przeczytać Moja strona została zhakowana: plan działania.
Biały ekran bez komunikatu
Przy białym ekranie PHP celowo nie pokazuje komunikatu o błędzie odwiedzającym. Log błędów z kroku 1 jest wtedy Państwa najlepszym źródłem informacji. W WordPress można również tymczasowo ustawić define('WP_DEBUG', true); w pliku wp-config.php. Proszę potem z powrotem ustawić wartość na false, w przeciwnym razie odwiedzający zobaczą szczegóły techniczne Państwa witryny.
Inne kody błędów w skrócie
| Komunikat | Co to oznacza? | Gdzie przeczytać więcej? |
|---|---|---|
| 403 Forbidden | Serwer odmawia wyświetlenia strony, na przykład z powodu zapory sieciowej Państwa witryny, uprawnień lub brakującego pliku index. | Błąd 403 lub 406 podczas zapisywania lub przesyłania plików |
| 404 Not Found | Strona lub plik nie istnieje w tym miejscu. Czy Państwa witryna znajduje się w public_html właściwej domeny? Proszę zwrócić uwagę na wielkość liter w nazwach plików. | Otwieranie Menedżera Plików: foldery w Państwa pakiecie |
| 413 Request Entity Too Large | Plik, który Państwo przesyłają, jest większy niż dozwolono. | Zbyt duży plik do przesłania (błąd 413) lub przekroczenie czasu oczekiwania |
| 500 Internal Server Error | Kod Państwa witryny zawiesza się. | Ten artykuł |
| 503 lub 508, Resource Limit Is Reached | Państwa pakiet tymczasowo zużywa więcej mocy obliczeniowej niż dozwolono. | 503 of 'Resource Limit Is Reached': co teraz zrobić? |
| Strona WebOké zamiast Państwa witryny | Domena nie jest jeszcze (poprawnie) przypisana do pakietu hostingowego, albo DNS wskazuje jeszcze gdzie indziej. | Moja domena jeszcze nie działa po transferze lub zmianie |
Powrót do działającej wersji
Nie mogą Państwo znaleźć rozwiązania, a strona działała jeszcze wczoraj? Proszę przywrócić kopię zapasową. W Mijn WebOké można to zrobić za pomocą WebOké Backups: proszę wybrać moment sprzed wystąpienia błędu i przywrócić wyłącznie katalog Państwa witryny oraz ewentualnie bazę danych (zob. Czy to również możliwe w Mojej WebOké? WebOké Backups). Jeśli korzystają Państwo z Installatron, można również przywrócić kopię zapasową z Installatron (zob. Tworzenie i przywracanie kopii zapasowych w Installatron).
Wskazówka: Dzięki Kondycja domeny na www.weboke.nl/domein-gezondheid od razu widzą Państwo, czy domena, rekord A, witryna i certyfikat SSL są w porządku. Przy pozycji Strona pojawi się wtedy na przykład Odpowiada błędem serwera (HTTP 500).
