Gewusst wie: Debuggen von PHP-Abstürze

January 14

Gewusst wie: Debuggen von PHP-Abstürze

Wenn ein PHP-Programm abstürzt, beendet es die Ausführung mitten in Verarbeitung aufgrund eines unerwarteten Fehlers. PHP-Abstürze können ernst, sein, weil sie Daten teilweise bearbeitet oder aktualisiert und abrupt enge Dateien öffnen lassen, beim Auftreten des Absturzes. Die Ursache für einen PHP-Crash kann ein Fehler im PHP-Skript oder möglicherweise aufgrund fehlerhafter Daten, anstatt einen Programmierfehler. Es gibt mehrere Dinge, die Sie tun können, wenn PHP zum Ermitteln der Ursache des Absturzes stürzt. Dann können Sie entweder Verlegenheit falsche PHP-Skript oder enthalten zusätzliche Skript, das antizipiert und fängt Fehler verursacht durch fehlerhafte Daten.

Anweisungen

1 Überprüfen Sie die Protokolldatei des Webservers. Suchen Sie die Datei, die unter Apache in der Regel an der /var/log/apache2/error.log befindet. Anzeigen des neuesten Teils des Fehlerprotokolls auf dem Bildschirm eingeben:

Schwanz /var/log/apache2/error.log

2 Überprüfen Sie die Fehlermeldungen in der Logdatei. Öffnen Sie das PHP-Skript in einem Editor und überprüfen Sie den Code, der entspricht mit der Zeilennummer, in der Fehlermeldung genannt. Suchen Sie nach Fehlern in der Logik, der den Absturz auftreten verursacht haben könnte. Prüfen Sie mindestens 10 Zeilen oberhalb und unterhalb der Zeilennummer, zitiert in den Fehler, da der Interpreter meldet einen Fehler auf eine andere Linie von der Linie könnte wo es tatsächlich enthalten ist.

3 Aktivieren Sie Fehlerberichterstattung wieder damit Sie interaktiv das Skript Debuggen können, ohne dass Sie die Protokolldatei nach jedem Schritt zu überprüfen. Verwenden Sie einen Editor, das PHP-Skript ändern. Kommentieren Sie eine Linie, die die Anweisung "Error_reporting" hat, und fügen Sie eine neue Zeile darunter mit der folgenden Anweisung:

error_reporting(E_ALL);

4 Legen Sie debugging-Code in das PHP-Skript, so dass Sie leichter Fehler aufspüren können, die durch schlechte oder unerwartete Daten entstehen. Erstellen Sie eine Funktion schreiben debugging-Meldungen auf dem Bildschirm, und erstellen Sie eine boolesche Variable, die Sie weltweit für die Fehlerberichterstattung aktivieren und deaktivieren kann. Debug-Anweisungen in den PHP-Code einfügen. Beispielsweise fügen Sie den folgenden Code an das PHP-Skript:

$debug = True;Funktion debug($msg) {}Global $debug;Wenn (! $debug) zurück;Echo "< p > $msg </p >";}

Legen Sie die Debug-Funktion um, wo der Fehler aufgetreten ist. Geben Sie beispielsweise:

Debug ("X = $x und y = $y nach der Verarbeitung des ersten Datenelements");

Ändern Sie die Variable $debug auf False, wenn Sie nicht länger wollen, Debuggen schreiben auf dem Bildschirm Nachrichten.

5 Verwenden Sie "Try/Catch-Anweisungen oder"If-else"Logik zu Trap-Fehler, die durch unerwartete Bedingungen wie z. B. fehlerhafte Daten entstehen könnten. Trap-Fehler, die einen Absturz verursachen können, selbst wenn Daten nie die Werte enthalten soll, die den Absturz auftreten verursachen würde. Geben Sie beispielsweise Folgendes ein, um eine "Divide by Zero" Fehler zu vermeiden, auch wenn eine NULL kein gültiger Wert für die Variable ist:

$average = 0;Wenn ($count! = 0) {}$average = $total / $count;}

6 Nutzen Sie die Hilfe von anderen Entwicklern, die möglicherweise nicht so vertraut mit dem Code. Manchmal kann die Ursache eines Fehlers eine Annahme, die Sie aufgrund Ihrer Vertrautheit mit der Art und machen das Programm arbeitet. Nachdem Sie die Ursache des Absturzes finden, Brainstorming mit anderen Entwicklern über andere Abstürze, die durch ähnliche Logikfehler oder Daten Bedingungen verursacht werden könnte. Überprüfen Sie das gesamte PHP-Skript und beheben Sie anderen Bereichen des Programms, die möglicherweise anfällig für ähnliche Abstürze.