Diagnose und Behebung eines 500er-Fehlers auf einer auf cPanel gehosteten Website

Procédure

Wie man eine leere Seite oder einen 500-Fehler debuggt

Wenn Sie versuchen, eine Website zu besuchen und die Fehlermeldung "500 Internal Server Error" sehen, bedeutet dies, dass ein Vorfall auf der Website aufgetreten ist. Der Fehler kann besonders frustrierend sein, da er Ihnen möglicherweise keine Informationen über die spezifische Ursache des Fehlers liefert. Dieser Artikel zeigt Ihnen, wie Sie einen 500er-Fehler auf Ihrer Website debuggen können.

Was ist der Unterschied zwischen einer weißen Seite und einem Fehler 500?

Eine leere Seite ist nicht unbedingt ein Fehler 500 und umgekehrt. Ein 500-Fehler bedeutet, dass bei der Verarbeitung der HTTP-Anfrage ein Fehler aufgetreten ist. Dies könnte ein Fehler bei der Ausführung des zugehörigen Skripts, ein Problem beim Zugriff auf eine Ressource, ... sein, der dazu führt, dass der Webserver eine Antwort mit dem Fehlercode 500 zurückgibt. Eine leere Seite hingegen bedeutet, dass der Webserver in seiner Antwort keinen Körper oder sogar keine Antwort zurückgegeben hat.

In manchen Situationen bewirkt ein Fehler 500, dass der Webserver keine Antwort hat und somit eine leere Seite verursacht. Dies kann der Fall sein, wenn keine 500-Fehlerseite eingerichtet wurde, oder auch wenn die Fehlerausgabe deaktiviert wurde und die Website daher keine Fehlermeldung zu erwähnen hat.

Einige Browser wie Chrome und Internet Explorer zeigen eine eigene 500-Fehlerseite an, wenn sie den Fehlercode im HTTP-Header erhalten, ohne dass der Server Inhalte in den Hauptteil der Antwort einfügt:

Diagnose und Behebung eines 500er-Fehlers auf einer auf cPanel gehosteten Website

500-Fehler sind häufig auf ein Problem in einer der .htaccess-Dateien zurückzuführen, die auf die URL wirken, oder auf einen PHP-Fehler. Wenn Sie also die Fehleranzeige mit der php.ini-Option display_errors aktivieren, sollten anstelle des 500er-Fehlers PHP-Fehler angezeigt werden.

Diagnose und Behebung eines 500er-Fehlers auf einer auf cPanel gehosteten Website

Wie können Sie feststellen, dass es sich tatsächlich um einen Fehler 500 handelt?

Um festzustellen, dass Sie tatsächlich einen Fehler 500 haben, müssen Sie sich den HTTP-Fehlercode ansehen, den der Webserver an Ihren Webbrowser zurückschickt. Dies kann über die Registerkarte "Netzwerk" in der Entwicklerkonsole Ihres Browsers ermittelt werden:

Diagnose und Behebung eines 500er-Fehlers auf einer auf cPanel gehosteten Website

Wie können Sie die Probleme identifizieren, die den Fehler 500 verursachen?

Der erste Schritt besteht darin, die mit der HTTP-Anfrage verbundenen Protokolldateien zu überprüfen: die Apache-Logdatei und die PHP-Logdatei. Die letzten 300 Ereignisse, die Sie in der Apache-Logdatei betreffen, können Sie über das Symbol "Fehler" auf Ihrer cPanel-Oberfläche einsehen, während die PHP-Logdatei normalerweise die Datei "error_log" ist, die neben der betreffenden PHP-Datei zu sehen ist:

Diagnose und Behebung eines 500er-Fehlers auf einer auf cPanel gehosteten Website

Es ist jedoch möglich, dass Fehler nicht in den Logs angezeigt werden. Dies kann das Ergebnis einer Konfiguration sein, die die Anzeige und/oder das Logging von PHP-Fehlern verhindert. Erfahren Sie mehr darüber.

Wenn Sie jedoch WordPress, Prestashop oder Joomla verwenden, ist es gut möglich, dass keine Änderungen sichtbar sind. In diesem Fall müssen Siedie Fehleranzeige in ihren jeweiligen Konfigurationsdateien aktivieren .

Wie aktivieren Sie den Debugging-Modus Ihrer Website?

Die meisten CMS wie WordPress verfügen über eine interne Fehlerverwaltung, die verhindert, dass die vorhandenen PHP-Einstellungen den Fehler verarbeiten und entsprechende Aktionen durchführen können. Wenn Sie den Debugging-Modus aktivieren, weisen Sie dieses interne Fehlerverwaltungssystem an, Fehler anzuzeigen und/oder die Verbosität der Logdateien zu erhöhen.

Um den Debugging-Modus zu aktivieren, können Sie sich direkt mit dem"Dateimanager" verbinden, auf den Sie über Ihre cPanel-Schnittstelle zugreifen können, und die zugehörige Konfigurationsdatei bearbeiten, um diesen Modus zu aktivieren.

Wie kann ich den Debug-Modus in Wordpress aktivieren?

Wenn Ihre Website mit WordPress erstellt wurde, können Sie den Debug-Modus über die Datei"wp-config.php" aktivieren, die sich im Wurzelverzeichnis Ihres Webhostings befindet. Dazu müssen Sie lediglich die Konstante"WP_DEBUG" von"false" auf den Wert "true" ändern.

Wenn Sie möchten, können Sie auch die Konstante "WP_DEBUG_LOG" hinzufügen, um Fehler in der Datei"wp-content/debug.log" zu protokollieren.

Sie sollten auch überprüfen, ob die Konstante"WP_DEBUG_DISPLAY" in Ihrer Konfigurationsdatei nicht gesetzt ist. Wenn dies nicht der Fall ist, müssen Sie diesen Wert ebenfalls auf true setzen.

Die Konfigurationsdatei sollte dann wie folgt aussehen:

Diagnose und Behebung eines 500er-Fehlers auf einer auf cPanel gehosteten Website

Wie kann ich den Debug-Modus auf Prestashop aktivieren?

Auf Prestashop können Sie den Debug-Modus aktivieren, indem Sie die Datei"define.inc.php" aufrufen, die sich im Ordner"config" befindet.

Sie müssen die Konstante "_PS_MOD_DEV_" von"false" auf "true" ändern. Bei Bedarf können Sie auch den Modus"_PS_DEBUG_PROFILING_" aktivieren, der Ihnen mehr Informationen zur Verfügung stellt.

Die Konfigurationsdatei sollte dann wie folgt aussehen:

Diagnose und Behebung eines 500er-Fehlers auf einer auf cPanel gehosteten Website

Wie kann ich den Debug-Modus bei Joomla aktivieren?

Bei Joomla können Sie den Debug-Modus aktivieren, indem Sie die Datei configuration.php bearbeiten. In dieser Datei müssen Sie nämlich die Variable"$debug" auf 1 ändern, um ihn zu aktivieren. Außerdem müssen Sie die Variable " $error_reporting " auf"Maximum" ändern, damit alle Fehler angezeigt werden.

Die Konfigurationsdatei sollte nun wie folgt aussehen:

Diagnose und Behebung eines 500er-Fehlers auf einer auf cPanel gehosteten Website

Wie kann ich den Debug-Modus auf anderen CMS aktivieren?

Es ist gut möglich, dass Sie ein anderes CMS verwenden. Um zu erfahren, wie Sie den Debug-Modus aktivieren, können Sie auch in der Suchmaschine"CMS-Name + Debug" eingeben. Dies sollte Sie direkt zu einem Tutorial führen, das Ihnen erklärt, wie Sie diesen Modus aktivieren können.

Die verschiedenen PHP-Fehler verstehen

Es ist relativ einfach, die Ursache eines 500er-Fehlers zu verstehen, da es sich sehr oft um die gleichen Fehler handelt, die immer wieder auftreten.

1. Der erste und häufigste Fehler ist der"Parse error". Dieser weist oft auf ein Syntaxproblem hin (ein Fehler in der Programmierung Ihres Codes). Der Fehler wird wie folgt definiert:

  • Parse Error: definiert, dass es sich um einen Codefehler handelt.
  • Eine englische Nachricht ist sichtbar, um weitere Informationen über die Art des Fehlers zu liefern.
  • Der Pfad zu der Datei, in der sich der Fehler befindet, mit der Zeile, die von dem Fehler betroffen ist.

Wenn wir als Beispiel die Datei index.php unserer Wordpress-Website nehmen, in der am Ende von Zeile 17 ein Semikolon fehlt, sieht die Webdatei, in der sich der Fehler befindet, wie folgt aus:

Diagnose und Behebung eines 500er-Fehlers auf einer auf cPanel gehosteten Website

Der Fehler, der sichtbar wird, wenn Sie die URL aufrufen, lautet wie folgt:

Diagnose und Behebung eines 500er-Fehlers auf einer auf cPanel gehosteten Website

2. Der Fehler"Parse error: syntax error, unexpected end of file" bedeutet, dass am Ende der Datei etwas zu fehlen scheint.

Diagnose und Behebung eines 500er-Fehlers auf einer auf cPanel gehosteten Website

In diesem Code fehlt zum Beispiel die geschweifte Klammer, die die if-Anweisung schließt.

3. Der Parse Error: syntax error, unexpected (T_STRING), expecting ','or'; ' wird oft durch einen Fehler in Verbindung mit der Anführungszeichen in Ihrem Code verursacht.

Diagnose und Behebung eines 500er-Fehlers auf einer auf cPanel gehosteten Website

In diesem Code fehlt der Backslash auf dem Wort"Fehler" wie im folgenden Code, damit es funktioniert:

Diagnose und Behebung eines 500er-Fehlers auf einer auf cPanel gehosteten Website

4. Sie können auch einen Fehler vom Typ"Fatal Error" sehen. Dieser Fehler ist einer der schwerwiegendsten Fehler, auf die Sie stoßen können. Außerdem führt er dazu, dass Ihr Skript abbricht. Er wird wie folgt definiert:

  • Fatal Error: Diese Meldung zeigt an, dass der Fehler fatal ist und die Funktion Ihres Skripts blockiert.
  • Nachricht: Nach dem Code "Fatal error" folgt eine Nachricht, die Ihnen den Grund für den Fehler erklärt.
  • Pfad: Der Pfad und die Zeile, die das Problem verursacht, werden angegeben.

Dieser Fehler zeigt oft an, dass eine Funktion nicht definiert wurde, wie im folgenden Code:

Diagnose und Behebung eines 500er-Fehlers auf einer auf cPanel gehosteten Website

Sie werden den folgenden Fehler sehen: Fatal Error: Uncaught Error: Call to undefined function.

Dieser Fehler wird oft durch eine der folgenden Ursachen verursacht:

  • Sie haben einen Tippfehler in der Funktion, die Sie definiert haben.
  • Die PHP-Datei, die die Funktion enthält, wurde nicht in Ihr Skript geladen.
  • Wenn die Funktion Teil einer PHP-Erweiterung ist, ist die PHP-Erweiterung möglicherweise nicht geladen.

5. Es ist gut möglich, dass Sie den Fehler"Fatal Error: cannot redeclare" erhalten, der angibt, dass die Funktion ein zweites Mal definiert wurde. Der Code könnte wie folgt aussehen:

Diagnose und Behebung eines 500er-Fehlers auf einer auf cPanel gehosteten Website

Sie können diesen Fehler vermeiden, indem Sie:

  • den Namen der neu definierten Funktion ändern.
  • Es kann sich auch um ein Problem mit dem Namespace handeln. In diesem Fall müssen Sie den Namespace überprüfen und den vollständigen Pfad zur Funktion angeben.

6. Sie können den Fehler"Fatal Error: allowed memory size exhausted" erhalten.

Dies bedeutet, dass das PHP-Skript zu viel Arbeitsspeicher belegt und den maximal zulässigen Wert in PHP.INI überschreitet. Dies ist der Wert "memory_limit". Dieser Wert kann von Ihnen in den cPanel-Formeln geändert werden. Wenn das Problem trotz Erhöhung des Wertes auf einen ausreichend hohen Wert weiterhin besteht, kann es sein, dass eine speicherintensive Operation in Ihrem PHP-Skript zu oft (oder sogar endlos) wiederholt wird. Endlosschleifen sind daher ebenfalls eine mögliche Ursache für diese Art von Fehler.

7. Der Fehler"Fatal Error: Maximum execution time exceeded" bedeutet, dass die Ausführungszeit Ihres Skripts überschritten wurde. Sie können den Wert"max_execution_time" in Ihrer PHP.INI-Konfiguration ändern, um diesen Fehler zu beheben. Beachten Sie jedoch, dass Prozesse, die länger als 490 Sekunden laufen, in unseren cPanel Shared-Hosting-Paketen nicht erlaubt sind, und vor allem, dass eine Seite, die eine höhere max_execution_time benötigt, auch langsamer geladen wird, was normalerweise nicht wünschenswert ist. Wenn die Seite, die diesen Fehler verursacht hat, viele Daten verarbeitet, empfehlen wir Ihnen, eine Stapelverarbeitung durchzuführen. Anstatt beispielsweise 1000 Produkte bei jedem Öffnen der Seite zu verarbeiten, wäre es besser, Stapel von 100 Produkten zu verarbeiten, z. B. über AJAX-Anfragen. Und Sie werden eine niedrigere TTFB (Time-To-First-Byte) haben.

8. Der Fehler"Fatal error: Uncaught Error: Call to undefined function mysql_connect()" bedeutet, dass das Modul"mysql" in der von Ihnen verwendeten PHP-Version nicht geladen ist. Der Fehler tritt auf, wenn:

  • Sie PHP 7 oder höher verwenden, Ihre Website aber nicht mit dieser Version kompatibel ist.
  • Sie verwenden eine PHP5-Version, aber das Modul "MySQL" ist nicht aktiviert.

Sie können die PHP-Version leicht ändern, indem Sie auf"PHP-Version auswählen" in Ihrer cPanel-Benutzeroberfläche gehen.

9. Der Fehler"Permission denied" bedeutet, dass PHP nicht die Rechte hat, auf eine bestimmte Datei oder einen bestimmten Ordner zuzugreifen. Der Fehler ist oft in der folgenden Form sichtbar:

Warning file_put_contacts(/home/c123456/public_html/dossier/file.php): failed to open stream: Permission denied in /home/c123456/index.php on line 20.

In diesem Fall ist es notwendig, die Chmods Ihrer Dateien und Ordner zu überprüfen. Normalerweise lauten die Chmods wie folgt:

  • 644: für eine Datei
  • 755: für einen Ordner

10. Der Fehler"No such file or directory" bedeutet, dass PHP eine Datei einbinden muss, die nicht auf Ihrem FTP-Bereich vorhanden zu sein scheint. Der Fehler stellt den folgenden dar:

Warning: require_once(/home/c123456/public_html/dossier/fichier.php): failed to open stream: No such file or directory in /home/c123456/public_html/index.php on line 20.

In diesem Fall müssen Sie :

  • Überprüfen Sie, ob die betreffende Datei auf Ihrem FTP-Bereich existiert. Wenn dies nicht der Fall ist, müssen Sie die Datei erneut hochladen.
  • Prüfen Sie, ob die Rechte an der Datei richtig sind, es handelt sich um den CHMOD. Für Ordner gilt normalerweise chmod 755 und für Dateien chmod 644.
  • Überprüfen Sie, ob der Pfad, der auf der Ebene Ihres PHP-Skripts angegeben ist, der richtige ist.

11. Sie können den Fehler"Warning:session_start(): Cannot send session cookie headers already sent", der darauf hinweist, dassbereits ein Feed generiert wurde und die Funktion"session_start" nicht mehr verwendet werden kann. Dieser Fehler wird in der folgenden Form angezeigt:

Warning: session_start(): Cannot send session cookie - headers already sent by (output started at /home/c123456/public_html/dossier/session.php:2 in /home/c123456/public_html/dossier/session.php on line 20).

Die drei Ursachen, die diesen Fehler verursachen können, sind die folgenden:

  • Eine Direktive, die Text vor dem Aufruf der Funktion anzeigt.
  • Ein Problem mit dem Zeichensatz (insbesondere BOM_UTF8). Dieser Fehler befindet sich immer in der ersten Zeile Ihres Codes.
  • Zeichen, die auf dem Bildschirm nicht sichtbar sind, aber in Ihren Dateien vorkommen. Mit Code-Editoren wie Visual Studio Code können Sie diese feststellen.

Schlussfolgerung

Sie sind nun in der Lage, den Grund für einen Error 500 oder eine leere Seite zu erfahren. Sie sind auch in der Lage, Fehler auf Ihrer Website zu beheben.

Zögern Sie nicht, Ihre Fragen und/oder Anmerkungen als Kommentar zu stellen.

Diesen Artikel bewerten :

2,5/5 | 2 Hinweis

Dieser Artikel war hilfreich für Sie ?

Article utileJa

Article non utileNicht

Vous souhaitez nous laisser un commentaire concernant cet article ?

Si cela concerne une erreur dans la documentation ou un manque d'informations, n'hésitez pas à nous en faire part depuis le formulaire.

Pour toute question non liée à cette documentation ou problème technique sur l'un de vos services, contactez le support commercial ou le support technique

MerciMerci ! N'hésitez pas à poser des questions sur nos documentations si vous souhaitez plus d'informations et nous aider à les améliorer.


Vous avez noté 0 étoile(s)

Ähnliche Artikel

3mn von Lesen

Wordpress auf cPanel: Problem der weißen Seite oder des Fehlers 500 beheben

1mn von Lesen

Wie man die Apache- und PHP-Logdateien auf cPanel einsehen kann

0mn von Lesen

Wie kann ich einen 403 Forbidden-Fehler auf cPanel beheben?

0mn von Lesen

Wie kann ich einen 404-Fehler auf cPanel beheben?


Stellen Sie eine Frage an das LWS-Team und seine Gemeinschaft