Fehlerbehebung

Fehler in PHP-Anwendungen oder -Dateien debuggen

Geprüft am 3 Min. Lesezeit Debugging PHP

Eine weiße Seite oder ein Fehler 500 zeigt, dass die Anfrage nicht wie erwartet geendet hat, nennt aber für sich allein weder die Ebene noch die Komponente, die versagt hat. Die Ursache kann in der Anwendung, in PHP, in einer Direktive der .htaccess, im Webserver oder in einem Ressourcenlimit liegen.

Stellen Sie die genaue URL oder Aktion nach und notieren Sie die Uhrzeit. Beginnen Sie mit der engsten Quelle, die dieses Ereignis enthalten kann:

  1. Wenn Sie die Anwendung kennen, prüfen Sie zuerst deren Protokoll oder Debug-Modus und lassen Sie die Fehlerausgabe auf dem Bildschirm deaktiviert. Für WordPress nutzen Sie Fehler in WordPress debuggen.
  2. Wenn das Protokoll der Anwendung das Ereignis nicht enthält oder es sich um eine eigenständige PHP-Datei handelt, prüfen Sie das PHP-Protokoll der tatsächlich genutzten Version. Ist es nicht aktiv, aktivieren Sie log_errors vorübergehend in cPanel.
  3. Wenn die Anfrage nicht in PHP auftaucht, die .htaccess geändert wurde oder der Fehler auftritt, bevor die Anwendung läuft, prüfen Sie das Fehlerprotokoll der Website oder des Webservers.

Dass ein Protokoll die Anfrage nicht enthält, beweist nicht, dass die Anwendung die Konfiguration überschrieben hat. Prüfen Sie vorher die tatsächlich genutzte PHP-Version, den Geltungsbereich der Konfiguration, Ziel und Rechte von error_log und ob die Anfrage diese Ebene überhaupt erreicht hat.

Schreiben Sie den Fehler erst dann einer Komponente zu, wenn das Protokoll oder eine kontrollierte Nachstellung sie mit der konkreten Meldung verbindet. Bis dahin ist jede Erklärung eine Vermutung.

Die Diagnose abschließen

Bewahren Sie den ersten Fehler und seinen Stacktrace auf, die Änderung, die ihn behoben hat, und das Ergebnis, wenn Sie dieselbe Aktion wiederholen. Die Zeile in einer Bibliothek kann die Stelle sein, an der ein ungültiger Wert erkannt wurde, nicht die, an der er entstand; ändern Sie diese Datei nicht, ohne dem Stacktrace zu folgen.

Entfernen Sie das vorübergehende Debugging, bestätigen Sie, dass Besucher keine Details sehen, und bewahren Sie die Protokolle nur so lange auf wie nötig. Wenn Sie Hilfe anfragen, geben Sie ein minimales Beispiel mit fiktiven Daten und die Versionen von PHP und Anwendung an, ohne vollständige Konfigurationen mit Passwörtern anzuhängen.

Das könnte Ihnen auch helfen

Stimmt etwas nicht oder hat sich etwas geändert? Erzählen Sie es uns, und wir prüfen es.