DNS RobotDNS Propagation Checker
GłównaDNSWHOISIPSSL
DNS RobotDNS Propagation Checker

Checker propagacji DNS nowej generacji

Polityka PrywatnościRegulaminO nasBlogKontakt

Narzędzia DNS

Wyszukiwanie DNSDomena na IPWyszukiwanie NSWyszukiwanie MXWyszukiwanie CNAMEZobacz wszystko

Narzędzia E-mail

Sprawdzanie Rekordu SPFSprawdzanie DMARCSprawdzanie DKIMTest SMTPAnaliza Nagłówków E-mailZobacz wszystko

Narzędzia Stron WWW

Wyszukiwanie WHOISDostępność DomenyWyszukiwarka SubdomenWykrywanie CMSAnaliza LinkówZobacz wszystko

Narzędzia Sieciowe

Narzędzie PingTracerouteSprawdzanie PortówSprawdzanie Nagłówków HTTPSprawdzanie Certyfikatu SSLZobacz wszystko

Narzędzia IP

Wyszukiwanie IPJaki Jest Mój IPSprawdzanie Czarnej Listy IPIP na HostnameWyszukiwanie ASNZobacz wszystko

Narzędzia Pomocnicze

Skaner QR CodeGenerator QR CodeTłumacz Kodu Morse'aKonwerter Tekstu na BinarnyGenerator Małego TekstuZobacz wszystko
© 2026 DNS Robot. Opracowane przez: ❤ Shaik Brothers
Wszystkie systemy działają
Made with
Home/Blog/Błąd HTTP 500 Internal Server Error: Przyczyny i sposoby naprawy

Błąd HTTP 500 Internal Server Error: Przyczyny i sposoby naprawy

Shaik VahidFeb 27, 20269 min read
HTTP error 500 internal server error fix guide showing server crash screen and step-by-step debugging solutions
HTTP error 500 internal server error fix guide showing server crash screen and step-by-step debugging solutions

Key Takeaway

Błąd HTTP 500 oznacza, że serwer napotkał nieoczekiwany problem i uległ awarii podczas przetwarzania Twojego żądania. Jako odwiedzający odśwież stronę i spróbuj ponownie później. Jako właściciel strony najpierw sprawdź logi błędów — następnie zbadaj .htaccess, uprawnienia plików, limity pamięci PHP, wtyczki i połączenia z bazą danych, aby znaleźć i naprawić przyczynę.

Czym jest błąd HTTP 500?

Błąd HTTP 500 (Internal Server Error) to kod statusu po stronie serwera, który oznacza, że serwer WWW napotkał nieoczekiwany problem uniemożliwiający realizację Twojego żądania. Jest to najbardziej ogólny błąd serwera — sposób, w jaki serwer mówi 'coś się zepsuło, ale nie wiem dokładnie co.'

Zgodnie ze specyfikacją HTTP (RFC 9110, sekcja 15.6.1), odpowiedź 500 powinna być używana, gdy serwer nie może znaleźć bardziej szczegółowego kodu statusu 5xx do opisania problemu. W odróżnieniu od błędu 503 (który sygnalizuje stan tymczasowy), błąd 500 nie daje żadnej wskazówki, czy problem jest tymczasowy, czy trwały.

Kluczowa różnica polega na tym, że błąd 500 jest prawie zawsze spowodowany błędem w kodzie, błędną konfiguracją lub awarią kodu po stronie serwera — a nie czymś, co zrobił odwiedzający. Naprawa musi nastąpić ze strony właściciela witryny lub administratora serwera.

Note

Kod 500 to błąd po stronie serwera (klasa 5xx). Oznacza to, że problem leży po stronie serwera, nie po Twojej. Jako odwiedzający zwykle nie ma nic złego z Twoją przeglądarką, urządzeniem ani połączeniem internetowym.

Jak wygląda błąd 500

Błąd 500 wyświetla się różnie w zależności od serwera WWW, dostawcy hostingu i systemu CMS. Oto najczęstsze komunikaty, na które możesz natrafić.

  • 500 Internal Server Error — standardowy komunikat

  • HTTP Error 500 — często widoczny w pasku adresu przeglądarki

  • Internal Server Error — ogólny tekst bez kodu statusu

  • The server encountered an internal error or misconfiguration — domyślny komunikat Apache

  • 500 Internal Server Error – nginx — minimalna strona błędu Nginx

  • There has been a critical error on this website — WordPress (od wersji 5.2)

  • HTTP Error 500.19 – Internal Server Error — IIS z podkodami statusu

  • 500. That's an error. — własna strona błędu Google

Najczęstsze przyczyny błędu HTTP 500

Błąd 500 może być wywołany przez dziesiątki różnych problemów po stronie serwera. Oto najczęstsze przyczyny, uszeregowane według częstotliwości występowania.

  • Uszkodzony plik .htaccess — Pojedynczy źle umieszczony znak lub nieprawidłowa dyrektywa w .htaccess spowoduje natychmiastową awarię Apache. To przyczyna nr 1 na hostingu współdzielonym.

  • Fatalne błędy PHP — Błędy składni, nieobsługiwane wyjątki lub wywołanie niezdefiniowanych funkcji zatrzymują wykonywanie skryptu i generują błąd 500.

  • Wyczerpanie limitu pamięci PHP — Skrypty przekraczające memory_limit (domyślnie 128M) ulegają awarii bez ostrzeżenia. Częstymi wyzwalaczami są przetwarzanie dużych obrazów i złożone zapytania bazodanowe.

  • Nieprawidłowe uprawnienia plików — Pliki powinny mieć uprawnienia 644, katalogi 755. Zarówno zbyt restrykcyjne, jak i niebezpiecznie otwarte (777) uprawnienia powodują problemy.

  • Konflikty wtyczek lub motywów — Nowo zaktualizowana lub niekompatybilna wtyczka może spowodować awarię całej aplikacji. To najczęstsza przyczyna specyficzna dla WordPressa.

  • Błąd połączenia z bazą danych — Błędne dane uwierzytelniające, awaria serwera bazy danych lub przekroczenie limitu połączeń uniemożliwiają działanie aplikacji.

  • Przekroczenie czasu skryptu — Długo działające skrypty przekraczają max_execution_time (domyślnie 30 sekund) i są zabijane przez serwer.

  • Uszkodzone pliki rdzenia CMS — Nieudane aktualizacje lub przerwane transfery plików pozostawiają krytyczne pliki niekompletne.

  • Awarie procesów PHP-FPM — Procesy robocze umierające z powodu problemów z pamięcią lub osiągnięcia limitów pm.max_children powodują, że Nginx zwraca 500.

  • Błędna konfiguracja serwera — Zła wersja PHP, nieprawidłowe ustawienia virtual host lub błędne bloki serwera Nginx wywołują błędy 500.

  • Pełny dysk — Gdy serwerowi braknie miejsca na dysku, nie może zapisywać logów ani plików tymczasowych, co powoduje awarie.

  • Błędy skryptów CGI/Perl — Zły tryb plików (binarny vs ASCII), nieprawidłowe zakończenia linii lub brakujące moduły.

Jak naprawić błąd 500 (jako odwiedzający)

Jeśli widzisz błąd 500 na czyjejś stronie, problem leży po stronie serwera — nie Twojej. Jest jednak kilka rzeczy, które możesz spróbować, zanim się poddasz.

  • Odśwież stronę — Poczekaj 30 sekund, a następnie naciśnij F5 lub Ctrl+R (Cmd+R na Macu). Wiele błędów 500 jest powodowanych przez chwilowe problemy serwera, które same się rozwiązują.

  • Twarde odświeżenie — Naciśnij Ctrl+Shift+R (Cmd+Shift+R na Macu), aby ominąć pamięć podręczną przeglądarki i pobrać całkowicie nową kopię.

  • Wyczyść pamięć podręczną i pliki cookie przeglądarki — Przejdź do ustawień przeglądarki i wyczyść zapisane pliki. Uszkodzone dane w pamięci podręcznej mogą czasami powodować problemy z wyświetlaniem.

  • Spróbuj w trybie incognito — Otwórz okno prywatne/incognito, aby wykluczyć rozszerzenia przeglądarki lub zapisany stan powodujący problemy.

  • Sprawdź, czy strona jest niedostępna dla wszystkich — Użyj narzędzia HTTP Headers Checker DNS Robot, aby zweryfikować kod odpowiedzi serwera.

  • Spróbuj ponownie później — Ponieważ problem leży po stronie serwera, to właściciel witryny musi go naprawić. Poczekaj 15-30 minut i sprawdź ponownie.

  • Skontaktuj się z właścicielem strony — Jeśli błąd utrzymuje się przez kilka godzin, powiadom go przez formularz kontaktowy lub media społecznościowe.

Rozwiązanie 1: Sprawdź logi błędów serwera

Logi błędów to najważniejsze narzędzie do debugowania błędów 500. Powiedzą Ci dokładnie, co poszło nie tak, łącznie ze ścieżką pliku, numerem linii i komunikatem błędu. Zawsze sprawdzaj logi, zanim spróbujesz czegokolwiek innego.

bash
# Apache error log
tail -100 /var/log/apache2/error.log

# Nginx error log
tail -100 /var/log/nginx/error.log

# PHP-FPM error log
tail -100 /var/log/php-fpm/error.log

# WordPress debug log (if WP_DEBUG_LOG enabled)
tail -100 /path/to/wordpress/wp-content/debug.log

Tip

Dla WordPressa włącz logowanie błędów, dodając te linie do wp-config.php: define('WP_DEBUG', true); define('WP_DEBUG_LOG', true); define('WP_DEBUG_DISPLAY', false); — błędy będą zapisywane do wp-content/debug.log bez pokazywania ich odwiedzającym.

Rozwiązanie 2: Przetestuj i napraw .htaccess

Uszkodzony lub błędnie skonfigurowany plik .htaccess to najczęstsza przyczyna błędów 500 na serwerach Apache. Pojedyncza literówka, nieobsługiwana dyrektywa lub błędna reguła RewriteRule mogą wyłączyć całą stronę.

Najszybszym testem jest tymczasowa zmiana nazwy pliku. Jeśli strona zacznie działać po zmianie nazwy, to .htaccess był problemem.

bash
# Rename to disable .htaccess
mv .htaccess .htaccess_backup

# If site loads, regenerate a clean .htaccess
# For WordPress, go to Settings > Permalinks and click Save

Warning

Jeśli niedawno dodałeś własne reguły (przekierowania, nagłówki bezpieczeństwa, buforowanie), prawdopodobnie to one są problemem. Dodawaj je z powrotem po jednej, aby zidentyfikować wadliwą dyrektywę.

Rozwiązanie 3: Napraw uprawnienia plików

Nieprawidłowe uprawnienia plików uniemożliwiają serwerowi WWW odczytywanie lub wykonywanie plików. Standardowe uprawnienia to 644 dla plików i 755 dla katalogów. Nigdy nie ustawiaj uprawnień na 777 — to zagrożenie bezpieczeństwa, a wielu dostawców hostingu to blokuje.

bash
# Set correct directory permissions
find /path/to/webroot -type d -exec chmod 755 {} \;

# Set correct file permissions
find /path/to/webroot -type f -exec chmod 644 {} \;

# WordPress wp-config.php (extra security)
chmod 440 wp-config.php

Rozwiązanie 4: Zwiększ limit pamięci i czas wykonywania PHP

Skrypty PHP, które przekroczą limit pamięci lub maksymalny czas wykonywania, są cicho zabijane przez serwer, co skutkuje błędem 500. Domyślny memory_limit 128M i max_execution_time 30 sekund są często zbyt niskie dla złożonych aplikacji.

Możesz zwiększyć te limity na kilka sposobów w zależności od konfiguracji serwera.

bash
# Option 1: php.ini (best method)
memory_limit = 256M
max_execution_time = 300

# Option 2: .htaccess (Apache only)
php_value memory_limit 256M
php_value max_execution_time 300

# Option 3: .user.ini (FastCGI/Nginx)
memory_limit = 256M

# Option 4: wp-config.php (WordPress)
define( 'WP_MEMORY_LIMIT', '256M' );

Rozwiązanie 5: Wyłącz wtyczki i motyw (CMS)

Jeśli używasz WordPressa, Joomli lub innego systemu CMS, wadliwa wtyczka lub motyw to jedna z najczęstszych przyczyn błędów 500. Najszybszym sposobem na przetestowanie jest wyłączenie wszystkich wtyczek naraz, a następnie ponowne włączanie ich jedna po drugiej.

bash
# Disable all WordPress plugins (via file system)
cd /path/to/wordpress/wp-content
mv plugins plugins_disabled

# Or use WP-CLI
wp plugin deactivate --all

# Switch to default theme
wp theme activate twentytwentyfour

Tip

Jeśli wyłączenie wtyczek naprawi błąd, włączaj je ponownie jedną po drugiej i przeładowuj stronę po każdej. Wtyczka, która przywróci błąd 500, jest winowajcą.

Rozwiązanie 6: Sprawdź połączenie z bazą danych i napraw ją

Błąd 500 może wystąpić, gdy aplikacja nie może połączyć się ze swoją bazą danych. Dzieje się tak, gdy dane uwierzytelniające są błędne, serwer bazy danych nie działa lub tabele są uszkodzone.

Najpierw zweryfikuj dane uwierzytelniające bazy danych w pliku konfiguracyjnym (wp-config.php dla WordPressa, .env dla Laravela). Następnie przetestuj połączenie i w razie potrzeby napraw uszkodzone tabele.

bash
# Test MySQL connection
mysql -u username -p -h localhost database_name -e "SELECT 1;"

# Repair and optimize all tables
mysqlcheck -u username -p --auto-repair --optimize database_name

# WordPress: add to wp-config.php, then visit /wp-admin/maint/repair.php
define( 'WP_ALLOW_REPAIR', true );

Rozwiązanie 7: Sprawdź kompatybilność wersji PHP

Uruchamianie kodu napisanego dla starszej wersji PHP na nowszej wersji (lub odwrotnie) wywołuje fatalne błędy. Przestarzałe funkcje, zmienione domyślne zachowania i usunięte funkcjonalności to częste przyczyny problemów po aktualizacji PHP.

Sprawdź aktualną wersję PHP i porównaj ją z wymaganiami Twojej aplikacji.

bash
# Check PHP version
php -v

# List loaded PHP modules
php -m

# Check current memory limit
php -i | grep memory_limit

Note

Jeśli błąd 500 pojawił się bezpośrednio po aktualizacji PHP, przywróć poprzednią wersję przez panel hostingu i przetestuj swój kod pod kątem kompatybilności przed ponowną aktualizacją.

Rozwiązanie 8: Sprawdź miejsce na dysku

Gdy serwerowi braknie miejsca na dysku, nie może zapisywać plików logów, plików tymczasowych ani danych sesji — co powoduje błędy 500. Jest to często pomijane, ale zaskakująco częste, zwłaszcza gdy pliki logów rosną bez kontroli.

bash
# Check disk usage
df -h

# Find large files eating disk space
du -sh /var/log
du -sh /tmp

# Clear old log files if needed
truncate -s 0 /var/log/nginx/error.log

500 vs 502 vs 503 vs 504: Jaka jest różnica?

Kluczowa różnica: 500 = serwer zepsuł się wewnętrznie. 502 = proxy otrzymał nieprawidłową odpowiedź od backendu. 503 = serwer żyje, ale jest zajęty. 504 = proxy zrezygnował z czekania. Możesz sprawdzić dokładny kod statusu, który zwraca Twój serwer, używając narzędzia HTTP Headers Checker DNS Robot.

KodNazwaCo oznaczaCzęsta przyczyna
500Internal Server ErrorSam serwer uległ awarii lub wyrzucił nieobsługiwany wyjątekFatalny błąd PHP, błędny .htaccess, wyczerpanie pamięci
502Bad GatewayProxy otrzymał nieprawidłową odpowiedź od backenduAwaria PHP-FPM, backend nie działa, zamknięte gniazdo
503Service UnavailableSerwer jest tymczasowo przeciążony lub w trybie konserwacjiSkok ruchu, planowana konserwacja, limity zasobów
504Gateway TimeoutProxy przekroczył czas oczekiwania na odpowiedź backenduWolne zapytanie bazodanowe, długo działający skrypt, niereagujący upstream

Jak błędy 500 wpływają na SEO

Błędy 500 mają poważniejszy wpływ na SEO niż większość innych błędów HTTP. Oto, co musisz wiedzieć.

Deindeksacja może zacząć się w ciągu 2 dni. John Mueller z Google potwierdził, że uporczywe błędy 500 mogą spowodować usunięcie adresów URL z indeksu w zaledwie dwa dni. Jest to szybsze niż w przypadku błędów 503, które Google traktuje jako tymczasowe.

Błędy 500 marnują budżet indeksowania. W odróżnieniu od błędów 404 (które Google w końcu przestaje ponownie indeksować), błędy 500 są niejednoznaczne — strona może wrócić — więc Googlebot agresywnie ponawia próby. Marnuje to budżet indeksowania na stronach, które nic nie dostarczają.

Pozycje spadają szybko, ale się odzyskują. Po naprawieniu problemu Google zwykle przywraca indeksowanie w ciągu kilku dni. Jednak odzyskanie pozycji może zająć tygodnie — rankingi nie wracają natychmiast.

Używaj 503 do planowanej konserwacji, nigdy 500. Prawidłowo skonfigurowana odpowiedź 503 z nagłówkiem Retry-After informuje Google, aby wrócił później, bez usuwania strony. Błąd 500 nie wysyła takiego sygnału.

Warning

Jeśli ponad 1% zaindeksowanych adresów URL zwraca błędy 500, Google uznaje to za problem dotyczący całej witryny. Regularnie monitoruj raport Pokrycie w Google Search Console w sekcji 'Błąd serwera (5xx)'.

Jak zapobiegać błędom 500

Zapobieganie jest zawsze lepsze niż debugowanie. Stosuj te najlepsze praktyki, aby zminimalizować ryzyko błędów 500 na swojej stronie.

  • Ustaw monitoring dostępności — Użyj narzędzi takich jak UptimeRobot lub Pingdom, aby sprawdzać stronę co 1-5 minut. Otrzymuj natychmiastowe alerty, gdy wystąpi błąd 500.

  • Zawsze testuj zmiany na środowisku stagingowym — Nigdy nie wdrażaj bezpośrednio na produkcję. Testuj aktualizacje wtyczek, uaktualnienia PHP i zmiany konfiguracji na środowisku testowym.

  • Używaj kontroli wersji (Git) — Commituj każdą zmianę, abyś mógł natychmiast cofnąć wadliwe wdrożenie jednym poleceniem.

  • Implementuj prawidłową obsługę błędów — Otaczaj zapytania bazodanowe i wywołania API blokami try-catch. Loguj pełne ścieżki stosu po stronie serwera dla każdego błędu.

  • Monitoruj miejsce na dysku i zasoby serwera — Ustaw alerty dla zużycia dysku powyżej 80%, wysokiego CPU i nacisku na pamięć.

  • Aktualizuj oprogramowanie — Przestarzałe wersje CMS, wtyczek i oprogramowania serwera zawierają znane błędy powodujące awarie.

  • Utrzymuj automatyczne kopie zapasowe — Regularnie testuj procedurę przywracania. Kopia zapasowa, której nigdy nie testowałeś, nie jest kopią zapasową.

  • Ustaw odpowiednie limity PHP — Skonfiguruj memory_limit i max_execution_time na podstawie faktycznego obciążenia, a nie domyślnych wartości.

  • Używaj pipelinów CI/CD — Automatyzuj testowanie przed wdrożeniem. Jeśli testy zawiodą, wdrożenie nie powinno być kontynuowane.

Sprawdź odpowiedź swojego serwera

Użyj narzędzia HTTP Headers Checker DNS Robot, aby zweryfikować, jaki kod statusu zwraca Twój serwer i przeanalizować wszystkie nagłówki odpowiedzi.

Try HTTP Headers Checker

Frequently Asked Questions

Błąd HTTP 500 (Internal Server Error) oznacza, że serwer WWW napotkał nieoczekiwany problem, który uniemożliwił realizację Twojego żądania. Jest to ogólny błąd wskazujący, że coś się zepsuło po stronie serwera, ale serwer nie może wskazać dokładnej przyczyny.

Related Tools

Http HeadersPort CheckerDns LookupPing

Table of Contents

  • Czym jest błąd HTTP 500?
  • Jak wygląda błąd 500
  • Najczęstsze przyczyny błędu HTTP 500
  • Jak naprawić błąd 500 (jako odwiedzający)
  • Rozwiązanie 1: Sprawdź logi błędów serwera
  • Rozwiązanie 2: Przetestuj i napraw .htaccess
  • Rozwiązanie 3: Napraw uprawnienia plików
  • Rozwiązanie 4: Zwiększ limit pamięci i czas wykonywania PHP
  • Rozwiązanie 5: Wyłącz wtyczki i motyw (CMS)
  • Rozwiązanie 6: Sprawdź połączenie z bazą danych i napraw ją
  • Rozwiązanie 7: Sprawdź kompatybilność wersji PHP
  • Rozwiązanie 8: Sprawdź miejsce na dysku
  • 500 vs 502 vs 503 vs 504: Jaka jest różnica?
  • Jak błędy 500 wpływają na SEO
  • Jak zapobiegać błędom 500
  • FAQ