Für Menschen · Seien Sie begeistert und Sie werden begeistern !

Das Firefox Add on Firebug kann mittels weiterer Add ons erweitert werden, ein seht nützlich für PHP-Entwickler und Nutzer kann Firebug sein. Allerdings muss man dazu einiges an Anpassungen vornehmen und da es in diesem Zusammenhang wohl Bedarf gibt, hier eine kurze Einführung, wie man Firebug verwendet und wo die Werte dann zu finden sind.
Mit PHP gibt es eine ganze Reihe von Möglichkeiten um die Ausgabe von Variablen während des Entwickeln zu gestalten, print_r() und var_dump() sind sicher die meist genutzten. Diese Möglichkeiten geben die Inhalte als HTML aus, direkt and er Stelle, wo sie eingebunden sind. Das hat den Nachteil, dass das Layout eventuell zerstört ist, dass die Ausgabe unübersichtlich wird und wenn man in einem Livebetrieb diese Möglichkeiten nutzt, dann is tdas nur schwer vor den anderen Usern zu verbergen. Mit dem Add on FirePHP bekommt der Entwickler ein Werkzeug, ohne Entwicklungsumgebung, welches diese Arbeit erleichtern kann und direkt im Browser verfügbar ist.
Nun aber in wenigen Schritten, wie man zur Integration des Firebug und der Ausgabe der Werte kommt.
Das Add on benötigt ein weiters Add on und ist nur im Browser Firefox verfügbar. Wer also nicht mit diesem Browser unterwegs ist, darum kommt man beim Entwickeln aktuell nicht dran vorbei, auch wenn sich andere Hersteller redlich bemühen. Installiert also den Browser Firefox und das Add on Firebug. Wer Firebug noch nicht kennt - damit kann man im Standard HTML, CSS und JavaScritp debuggen, analysieren und live editieren. Ist das abgeschlossen, so kann die Erweiterung FirePHP installiert werden. Die einzelnen Links führen euch zu den Installationen, welche einfach und schnell erledigt sind.
Ein Hinweis, FirePHP und dessen Library funktioniert nur mit PHP 5.
Nach dem alles installiert ist, findet man die Tools in der Systemleiste des Browser (zu erkennen am kleinen Käfer), per Klick oder F12 kann der Firebug aufgerufen werden. Nun kann schon mit den Standard-Tools gearbeitet werden; für die Verwendung von FirePHP muss man noch das PEAR-Paket bereit stellen. Die wenigsten Nutzer werden wohl einen eigenen Server haben, so dass die Umgebung für das Entwickeln von PHP-Anwendungen eher ein lokaler Server sein wird. Daher erkläre ich mal am Beispiel XAMPP, wie man FirePHP zum reden bringt.
…\xampp\php\PEAR kopiert.Nach dem nun die Bibliothek beriet steht, können wir sie in das Projekt implementieren. Dazu inkludet man die Datei und schon steht die wichtigste Funktion fb() bereit.
require('FirePHPCore/fb.php');
Nun empfiehlt sich noch das Puffern der Ausgabe und dann kann es schon los gehen. Aktuell steht also im Projekt die folgenden Zeilen.
<?php
require('FirePHPCore/fb.php');
ob_start();
?>
Als erstes soll das gewohnte Neuland betreten werden, in dem wir „Hello World“ im FireBug ausgeben. Dazu erweitert man die obigen Zeilen um ein einfache Ausgabe mit der Funktion fb() von FirePHP.
<?php
require('FirePHPCore/fb.php');
ob_start();
fb('Hello World');
?>
Mit F12 den Firebug aktivieren und die Seite neu laden, dann sollte es ähnlich dem folgendem Screenshot bei euch aussehen.
![]()
Firebug kann aber mehr als pur die Meldungen ausgeben; dabei gibt es verschiedene Design-Möglichkeiten, die das Lesen der Ausgabe von Meldungen erleichtern und so verschiedene Typen für unterschiedliche Ausgaben zulassen.
Dazu den Code wieder ein wenig erweitern:
<?php
require('FirePHPCore/fb.php');
ob_start();
fb('Hello World');
fb('Log Mitteilung', FirePHP::LOG);
fb('Info Mitteilung', FirePHP::INFO);
fb('Warn Mitteilung', FirePHP::WARN);
fb('Error Mitteilung', FirePHP::ERROR);
?>

Nun aber weg von den kleinen Spielereien, zu einem sehr mächtigen Werkzeug, die Ausgabe von Arrays. Die Ausgabe soll an einer bekannten Variable gezeigt werden - $_SERVER.
$_SERVER ist ein Array, das Informationen wie Header, Pfade und die verschiedenen Wege, das Skript anzusprechen. Die Einträge in diesem Array werden vom Webserver erstellt.
Diese Variable wird nun mittels der Funktion fb() in FirePHP geloggt und kann daher inhaltlich gelesen werden. Bisher wurde die Funktion lediglich mit Text gefüttert und dieser wurde dann ausgeben, dass ändert sich nur soweit, dass man anstatt Text nun die Variable übergibt.
Der Syntax wird wieder erweitet:
<?php
require('FirePHPCore/fb.php');
ob_start();
fb($_SERVER, FirePHP::LOG);
?>
Nun wird im Firebug ein Array angezeigt, mit dem Wert 36. Ein MouseOver zeigt die Inhalte des Array in einem Extra Fenster, ein Klick stellt das Fenster permanent dar.
![]()
Erstellt man später mehrere Ausgaben, so ist es sinnvoll, wenn man eine Zuordnung hat. Daher lässt die Funktion fb() auch dafür einen Parameter zu.
fb($_SERVER, 'Server Variables', FirePHP::LOG);

Als nächstes soll ein Trace erfolgen, so dass man alle Verbindungen sehen kann. Die WordPress-Nutzer sehen spätestens jetzt, dass ich für das Beispiel in einem WordPress-Theme debugge, was eigentlich schön zeigt, wie gut sich FirePHP integrieren lässt.
Dafür die folgende Erweiterung in den Code übernehmen.
<?php
require('FirePHPCore/fb.php');
ob_start();
fb('Backtrace to here', FirePHP::TRACE);
?>
Sehr schön kann man nun die Verbindungen sehen, die tabellarische Sicht gibt sehr schnell Auskunft und macht die Analyse zum Kinderspiel.
Dieser kleine Einstieg zeigt die für mich wichtigsten Funktionen. FirePHP kann mehr und informiert darüber ausführlich auf der zugehörigen Website.
Ebenso lohnend ist das Tutorial von Dirk Henn „PHP mit Firebug debuggen“.
Ich bin urlaubsreif, ersticke in Arbeit und damit auch für die Leser des Weblogs nicht zu erreichen. Bitte geduldet euch ein wenig mit Supportanfragen.
Leider muss ich die Kommentarfunktion deaktivieren, ansonsten würde ich weiter in Arbeit ersticken oder die Anfragen nicht nach bestem Gewissen beantworten.
Vielen Dank für das Verständnis!
bueltge.de [by:ltge.de] wird von Frank Bültge geführt, administriert und gestaltet. Alle Inhalte sind persönlich von mir ausgewählt und erstellt, nach bestem Gewissen und Können, was die Möglichkeit von Fehlern nicht ausschließt.
Das Weblog wird angetrieben von WordPress und aktuell gibt es 854 Beiträge, 15036 Kommentare in 14 Kategorien und 450 Tags.
Das Blog wird liebevoll mit xHTML & CSS in Handarbeit gestaltet.
Design und Code ist unter Copyright
© 2001 - 2010 bueltge.de [by:ltge.de]
15. August 2008 um 13:06
Vielen Dank für den super Beitrag! Scheint eine Lösung zu sein, die einfach und verständlich funktioniert. Andere debugger waren mir ind er Vergangenheit immer zu oversized und so habe ich mir mit jeder Menge Ausgaben im Code beholfen, die dann - wie du schon sagtest - erst mal das Layout über den Haufen geworfen haben.
15. August 2008 um 13:20
So schön FireBug auch ist, bei mir macht der den Browser durcheinander. Der Browser-String zeigt nur noch "PHP", die Webdeveloper Toolbar mag nicht mehr und einige weitere Nickligkeiten...
Da arbeite ich lieber auf einen Testsystem mit allen Fehler- und Warnmeldungen.
15. August 2008 um 13:37
@Markus: Kann ich so nicht bestätigen, läuft auf mehreren Plattformen.
15. August 2008 um 19:46
Hallo Frank,
leider ist das Tutorial auf meiner Seite nicht mehr aktuell. Die aktuelle Version von FirePHP benötigt kein PEAR-Paket mehr und ist auch sonst von der Funktion her komplett umgestrickt worden.
Ich hab mal einen Hinweis über meinen Artikel gesetzt.
Gruß
Dirk
16. August 2008 um 02:04
Vielleicht wäre an dieser Stelle auch mal ein Hinweis auf die exzelente und sehr hilfreiche Debuglib angebracht, die leider immer noch viel zu unbekannt ist.
16. August 2008 um 08:53
Irgendwie will das Teil nicht so recht mit meinem Firefox 3.0 Browser...Eigentlich hat es sich so schön angehört
19. August 2008 um 10:10
Super! Danke dir sehr!
22. August 2008 um 01:35
Sehr nett und nützlich der hübsche Käfer! Aber mit dem kurz mal ausprobieren war es bei mir nicht! Meine Testkonfiguration: XAMPP unter Windows XP mit PHP5.25 und Apache2, Firefox 3.0.1, Firebug 1.2.0b13, FirePHP 0.1.1 . Problem: ob_start(); funktionierte nicht zuverlässig. Erst die Variante "php_flag output_buffering on" in die VirtualHost-Konfiguration des Apachen zu schreiben (siehe ) brachte den Erfolg. Vielleicht hilft es anderen früher ins Bett zu kommen (siehe Zeitstempel!).
22. August 2008 um 12:18
Hi, das ist ein super Beitrag. FirePHP ist wirklich hilfreich.
27. August 2008 um 20:36
Ich benutze FireBug schon eine ganze Weile und möchte schon jetzt nicht mehr darauf verzichten. Es hast (fast) meine kommerzielle Version eines CSS Editors abgelöst. Die Live Ansicht auf der aktuell bearbeiteten Seite ist mehr als optimal.
Das Add-On hat sicherlich noch ein paar Usability schwächen, ich kann es aber ebenfalls uneingeschränkt empfehlen.
Das PHP Plugin kannte ich bis jetzt noch nicht, vielleicht werde ich das auch einmal antesten.
4. Dezember 2008 um 22:17
7. Mai 2009 um 12:09
Hallo Alle zusammen,
erst einmal vielen Dank für die Beschreibung.
Zusätzlich musste ich das Häckchen für die Option Netzwerk aktivieren.
Danach lief es.
10. Mai 2009 um 12:35
Super Beitrag, FirePHP kannte ich gar nicht.
Kleiner Hinweis: Das letzte Bild ist falsch verlinkt. Es sollte auf firephp_trace.png verlinken, ist aber mit firephp_traced.png verknüpft...
13. Mai 2009 um 20:54
@Srephan: Danke, gefixt.
14. Mai 2009 um 21:30
hi
ihr solltet vielleicht wissen, dass firephp, genau wie firebug, regelmässig und automatisch zu einem server kontakt aufnimmt, welchem es selektierte log-daten eurer serverumgebung weiterreicht. die schnipsel sind bei auto-update hidden/integriert. was damit angestellt wird, ist noch nicht ganz klar. der schadhafte code sucht dabei gezielt nach password/username strings. das verrückte dabei ist, dass der schadhafte code immer nur kurz temporär vom server geladen wird und die cookies/cache ausspäht. ich arbeite bei Avira und wir waren erstaunt über diese entdeckung. der entwickler hat sich bisher noch nicht auf unsere Anfrage gemeldet.
6. Dezember 2009 um 01:32
Hallo "insiderhelps" von Avira,
ist in der Sache noch was gegangen?
Und wie heisst der Server, sodass man den einfach in der Firewall sperren kann.