Sprawdź dzienniki, aby dowiedzieć się, dlaczego wystąpił błąd 500. W pliku error.log może znajdować się wpis wskazujący przyczynę problemu. Rozważ najpopularniejsze opcje.
Brak zasobów
Jeśli to jest powód, problem został rozwiązany w bardzo prosty sposób - skontaktuj się z dostawcą hostingu z prośbą o zwiększenie zasobów.
Obecność niedziałających skryptów lub ograniczony czas ich wykonania
Jeśli serwer nie przetwarza skryptów przez określony czas, często minutę, pojawia się wewnętrzny błąd serwera 500.
Ponadto webmasterzy mogą napotkać podobny błąd, jeśli uruchomią skrypt CGI z poziomu Apache, jeśli czas określony w ustawieniach serwera nie jest wystarczający do wykonania skryptu.
Jeśli wcześniej skrypty działały i pojawiły się problemy, na przykład przy przejściu na inny hosting, przyczyną problemu mogą być inne przyczyny. Na przykład fakt, że serwer blokuje żądania.
Błędy podczas ustawiania praw dostępu
Uprawnienia do plików muszą być 444 lub 644. CHMOD dla folderów nie możeróżne od 755, czyli tylko właściciel zasobu może je przeglądać. Uprawnienia skryptu muszą być ustawione na 600. W przeciwnym razie, ze względów bezpieczeństwa, serwer blokuje dostęp do skryptu, nawet jeśli działa.
Jeśli to jest przyczyna błędu 500, użyj menedżera FTP, aby zmienić uprawnienia. Filezilla świetnie sobie radzi z tymi funkcjami.
Plik.htaccess zawiera nieobsługiwane dyrektywy
Sprawdź, czy plik.htaccess znajduje się w katalogu głównym witryny lub w innym miejscu. Jeśli jest, otwórz go w dowolnym edytorze tekstu. Możesz użyć Notatnika.
Błąd 500 może pojawić się, jeśli używasz serwera uruchomionego na suPHP, tj. obsługa php.ini. Jeśli w pliku.htaccess znajdują się dyrektywy zmieniające ustawienia środowiska PHP, mogą pojawić się problemy. Najczęstsze dyrektywy to php_admin_flag, php_flag i php_value.
Zmienne globalne są często dołączane jako instrukcje - Zarejestruj Globals.
Ten problem został rozwiązany w bardzo prosty sposób - niechciane parametry można po prostu usunąć. Inną opcją jest ich zakomentowanie poprzez dodanie znakuna początku linii. Między znakiem krzyżyka a nazwą dyrektywy musi być spacja.
Jeżeli absolutnie potrzebujesz wykonać komentowane parametry, można je określić w pliku php.ini. W takim przypadku nie trzeba używać php_admin_flag, php_flag i php_value - wystarczy je wyznaczyć zgodnie z zasadą: "nazwa wymaganego parametru=Włącz".
Błąd krytyczny PHP
Ten problem może wystąpić, jeśli PHP działa jak CGI. W takim przypadku należy dokładnie sprawdzić kod programu, zdiagnozować i naprawić błędy. Zauważ, że zakończenia linii skryptu CGI nie mogą być w formacie Windows (r\n), ale muszą być w formacie UNIX (n).
Jeśli żadne z sugerowanych rozwiązań nie naprawi błędu, skontaktuj się ze swoim gospodarzem. Wyjaśnij mu szczegółowo, kiedy i po jakich działaniach pojawił się błąd 500. Poproś go o wskazanie przyczyn problemu i pomoc w jego naprawie. Jeśli hoster nie jest w stanie ustalić, dlaczego wystąpił wewnętrzny błąd serwera http 500, skontaktuj się z obsługą systemu CMS, którego używasz. Pamiętaj, aby w liście podać wszystkie szczegóły, m.in. - komentarze dostawcy hostingu dotyczące Twojej sytuacji.