Błąd 500 to często spotykany komunikat, który informuje administratora stron, że serwer napotkał błąd i nie może wyświetlić aktualnie strony www czy bloga. Często błąd ten pojawia się nie z winy serwera, lecz po stronie naszego skrypty lub witryny, złej konfiguracji. Serwera, który napotkał taki błąd zwraca informacje o błędzie HTTP 500 – Internal Server Error (HTTP 500 – wewnętrzny błąd serwera).

Czym może być spowodowany HTTP 500 – wewnętrzny błąd serwera?

1. PHP Time Out

Jeśli skrypt PHP tworzy zewnętrzne połączenia sieciowe, połączenia te mogą osiągać limit czasu. Jeśli wykonywanych jest zbyt wiele połączeń i przekraczają one limit czasu, spowoduje to wewnętrzny błąd serwera. Aby zapobiec tego typu problemom i błędom, proponuję, aby do skryptów PHP dodawane były zasady na tego typu timeout.

2. Błąd spowodowany przez plik .htaccess.

Jeśli .htaccess jset zaimplementowany na Twojej stronie, może on mieć wpływ na witrynę, którą próbujesz załadować w przeglądarce. Dokładnie sprawdź konfigurację .htaccess w celu zapewnienia, że nie zawierają żadnych błędów. Aby sprawdzić, czy błąd w konfiguracji .htaccess jest przyczyną błędu wewnętrznego serwera 500, należy usunąć lub zmienić nazwę pliku .htaccess.

3. Błąd konfiguracji skryptu np. WordPress lub Joomla

Wyszukaj w Google nazwy skryptu + wewnętrzny błąd serwera. Na przykład, jeśli błąd ten występuje na Blogu WordPress – należy wyszukać w Google rozwiązania dla błędu serwera wewnętrznego WordPress.

Istnieje wiele różnych powodów, przy których możliwe jest uzyskanie Internal Server Error. W większości przypadków jest to spowodowane błędną konfiguracją pliku .htaccess.

Chociaż jest to zwykle spowodowane przez problem w skrypcie, wiele razy powodem są nieprawidłowe uprawnienia do plików w samym skrypcie, lub innych plików/katalogów używanych przez ten skrypt. Należy również sprawdzić, czy ścieżki skryptów są ustawione prawidłowo.

Należy również upewnić się, że skrypty zostały przesłane w odpowiednim trybie (ASCII lub Binary – jeśli w pliku Readme skryptów nie podano żadnych specjalnych instrukcji, zwykle jest to ASCII.). Innym problemem mogą być uprawnienia do pliku lub katalogu. Uprawnienia skryptu powinny być 755 lub rwxr-xr-x.