402 Stimmen

Wie kann man PHP-Skripte debuggen?

Wie debuggen Sie PHP Drehbücher?

Ich bin mit der grundlegenden Fehlersuche vertraut, z. B. mit der Fehlerberichterstattung. Die Haltepunkt-Fehlersuche in PHPEclipse ist ebenfalls sehr nützlich.

Was ist die am besten (im Sinne von schnell und einfach) in phpStorm oder einer anderen IDE zu debuggen?

4voto

Ross Punkte 44536

Die manuelle Fehlersuche ist für mich im Allgemeinen schneller - var_dump() y debug_print_backtrace() sind alle Werkzeuge, mit denen Sie Ihre Logik aufrüsten müssen.

3voto

MintDeparture Punkte 5780

Ich verwende oft CakePHP, wenn Rails nicht möglich ist. Um Fehler zu debuggen, finde ich normalerweise die error.log in den tmp-Ordner und beenden Sie es im Terminal mit dem Befehl...

tail -f app/tmp/logs/error.log

Es gibt Ihnen laufenden Dialog von Kuchen von dem, was vor sich geht, die ziemlich praktisch ist, wenn Sie etwas ausgeben wollen, um es Mitte Code können Sie verwenden.

$this->log('xxxx');

Dies kann Ihnen in der Regel einen guten Eindruck davon vermitteln, was los ist bzw. was nicht stimmt.

3voto

Nathan Strong Punkte 2291

Nun, in gewissem Maße hängt es davon ab, wo es bergab geht. Das ist das erste, was ich versuche, zu isolieren, und dann verwende ich echo/print_r(), wenn nötig.

NB: Ihr wisst, dass ihr true als zweites Argument an print_r() übergeben könnt und es wird die Ausgabe zurückgeben, anstatt sie zu drucken? Z.B.:

echo "<pre>".print_r($var, true)."</pre>";

2voto

Es gibt viele PHP-Debugging-Techniken, die Ihnen beim Programmieren unzählige Stunden ersparen können. Eine effektive, aber einfache Debugging-Technik ist das Einschalten von Fehlerberichten. Eine andere, etwas fortgeschrittenere Technik ist die Verwendung von Druckanweisungen, die dabei helfen können, schwer fassbare Fehler zu finden, indem sie anzeigen, was tatsächlich auf dem Bildschirm angezeigt wird. PHPeclipse ist ein Eclipse-Plug-in, das häufige Syntaxfehler hervorheben kann und in Verbindung mit einem Debugger zum Setzen von Haltepunkten verwendet werden kann.

display_errors = Off
error_reporting = E_ALL 
display_errors = On

und auch verwendet

error_log();
console_log();

2voto

Mufaddal Punkte 5382

Nusphere ist auch ein guter Debugger für php nusphere

CodeJaeger.com

CodeJaeger ist eine Gemeinschaft für Programmierer, die täglich Hilfe erhalten..
Wir haben viele Inhalte, und Sie können auch Ihre eigenen Fragen stellen oder die Fragen anderer Leute lösen.

Powered by:

X