PHP mit Firebug debuggen
PHP Entwickler, die ihre Skripte debuggen, müssen sehr oft unterschiedliche Variablen und deren Inhalte überprüfen. Die einfachste Möglichkeit dies zu tun, ist eine Ausgabe der Variableninhalte im Browser.
Diese Methode hat jedoch ein paar Nachteile:
- Ausgabe in HTML-Dokumenten ist sehr unübersichtlich.
- Das Layout einer Seite wird evtl. durch große Ausgaben zerstört.
- Ausgaben im Livebetrieb sind ohne IP-Filter oder andere Maßnahmen für alle User sichtbar.
Eine weitaus elegantere Lösung für Debug-Ausgaben bietet die Firefox Extension FirePHP. Mit Hilfe dieser Extension kann der Firebug neben CSS, HTML und Javascript nun auch für PHP-Debugging verwendet werden.
Wie man FirePHP einrichtet und auf was man achten sollte, möchte ich mit der folgenden Anleitung zeigen:
Voraussetzungen zur Nutzung von FirePHP
Falls noch nicht vorhanden, die Firebug-Extension installieren.
Die Firebug-Erweiterung FirePHP installieren.
Ebenfalls auf der FirePHP Webseite erhält man das benötigte PEAR Paket.
Da wahrscheinlich nicht jeder einen eigenen Server betreibt und somit nicht die Möglichkeit besitzt PEAR Pakete zu installieren, werde ich die Anleitung anhand eines lokalen Systems (xampp) demonstrieren.
PEAR Paket installieren (Windows)
“FirePHP-PearPackage-0.0.1.4.tgz” entpacken und das Verzeichnis “FirePHP_Build-0.0.1.4″ in “FirePHP_Build” umbenennen.
Das komplette Verzeichnis ins PEAR Verzeichnis von xampp verschieben. (…\xampp\php\PEAR)
PHP-Skript für die Debug-Ausgabe vorbereiten
Mit den folgenden Zeilen kann man sein PHP-Skript für die Kommunikation mit FirePHP grundsätzlich vorbereiten.
1 2 3 4 5 6 7 8 |
/* Initialize the FirePHP API */ require_once('FirePHP_Build/Init.inc.php'); /* Set the FirePHP-AccessKey which will be compared to the cookie */ FirePHP::SetAccessKey('5364908fa4ff620472319bfb13447e74'); /* Initialize the default FirePHP Wrapper */ FirePHP::Init(); |
Diese Zeilen müssen ganz oben im PHP-Skript plaziert werden, bevor irgendwelche Ausgaben vorgenommen werden.
Wichtig!
FirePHP::SetAccessKey('5364908fa4ff620472319bfb13447e74');
Der FirePHP-AccessKey muss aus Sicherheitsgründen unbedingt geändert werden! Mit einem md5 Hash Generator kann man sich schnell einen sicheren Key erstellen.
Authentifizierung
So, an dieser Stelle haben wir es fast geschafft. Das einzige was nun noch fehlt ist die Authentifizierung.
Falls man FirePHP bei Skripten nutzt, die online für andere erreichbar sind, könnte theoretisch jeder mit der FirePHP-Extension die Debug-Ausgaben einsehen. Das wäre jedoch ein sehr großes Sicherheitsrisiko und für Hacker ein gefundenes Fressen.
Aus diesem Grund gibt es die Authentifizierung in Form eines Cookies, dass nur Dich allein dazu berechtigt, die Debug-Ausgaben zu sehen.
Um Dich also als Berechtigter auszuweisen, muss ein Cookie mit dem FirePHP-AccessKey angelegt werden.
Cookie-Name: FirePHP-AccessKey
Cookie-Value: 5364908fa4ff620472319bfb13447e74 (hier bitte den eigenen erstellten Key nutzen)
Cookie-Expires: Gültigkeit auf die Session begrenzen.
Das Cookie kann man mit der PHP-Funktion SetCookie() erstellen oder noch einfacher mit der bekannten Web Developer Extension (siehe Abb.).
Nach dem setzen des Cookies kann es endlich losgehen.
PHP Debug-Ausgabe testen
Firebug öffnen und auf den Reiter FirePHP-Build gehen.
$_GET, $_POST, $_COOKIE und $_SERVER werden durch FirePHP standardmäßig angezeigt. Selbstverständlich kann man auch eigene Variablen ausgeben lassen. Um dies zu tun muss die Variable in folgender Form hinzugefügt werden:
1 2 3 |
<?php FirePHP::SetVariable(true,'VariableName','VariableValue'); ?> |
Ich hoffe ich konnte mit dieser kleinen Anleitung die Grundlagen von FirePHP vermitteln. Detaillierte Informationen findet man auf der FirePHP Webseite.
Viel Spaß beim Testen
ähnliche Beiträge:
- Firebug mit YSlow-Extension erweitern
Vor kurzem habe ich von der FirePHP-Extension berichtet, mit deren Hilfe der FireBug auch für PHP-De
Firecookie – mit Firebug Cookies bearbeiten
Firecookie ist eine praktische Erweiterung für die beliebte Firebug-Extension. Mit ihrer Hilfe könne
Shell Konsole mit PHP und AJAX
Per Zufall bin ich heute auf ein interessantes PHP-Skript von askapache.com gestossen. Kurzum eine m



