XtcModified mit FirePHP debuggen
Aus Wiki | xtcModified eCommerce Shopsoftware
In der kommenden Version von xtcModified wurde eine Möglichkeit für Entwickler integriert, durch einfache Zusätze im Quelltext Variablen und SQL-Queries zu debuggen, ohne dass diese im Shop sichtbar werden.
Vorteil: diese Möglichkeit kann auch bei Produktivshops genutzt werden, da die Kunden die Meldungen in der Regel nicht sehen werden (es sei denn sie haben ebenfalls Firebug + FirePHP installiert).
Inhaltsverzeichnis |
[Bearbeiten] Vorraussetzungen:
- Verwendung des Firefox 4.x mit der Erweiterung "FireBUG 1.8+" UND "FirePHP 0.6+"
- Installation der Serverlibrary von FirePHP (im Trunk-Version sind die 2 erforderlichen Dateien bereits enthalten!):
- Setzen der entsprechenden Debug-Befehle im Quelltext (siehe Beispiele unten)
- Erscheint die Meldung "FirePHP ERROR: Headers already sent in [...]. Cannot send log data to FirePHP. You must have Output Buffering enabled via ob_start() or output_buffering ini directive.", so muss im Admin die Option "GZip Kompression einschalten" auf "true" gesetzt werden.
[Bearbeiten] Verwendung:
An relevanten Stellen im Quelltext sind nun Befehle mit folgender beispielhafter Syntax möglich:
$log->firephp_command('BEFEHL', $variable);
[Bearbeiten] Folgende Befehle stehen zur Verfügung
[Bearbeiten] #1: Ausgabe von Variableninhalten und Arrays => 'vardump'
$log->firephp_command('vardump', $_SERVER);
Ausgabe in der Konsole (z.B.)
vardump: => "Variableninhalt"
Oder (z.B.)
vardump: (associative array) ['AUTH_TYPE'] => Basic ['DOCUMENT_ROOT'] => /var/www/html ['GATEWAY_INTERFACE'] => CGI/1.1 ['HTTP_ACCEPT'] => text/html,application/xhtml+xml,application/xml; ['HTTP_ACCEPT_CHARSET'] => ISO-8859-1,utf-8;q=0.7,*;q=0.7 ['HTTP_ACCEPT_ENCODING'] => gzip,deflate [...]
Screenshot
[Bearbeiten] #2: Backtrace, welche Dateien betroffen sind => 'trace'
$log->firephp_command('trace');
Ausgabe in der Konsole (z.B.)
Backtrace File Line Instruction .../includes/classes/class.debug.firephp.php 662 FirePHP->fb('Backtrace', 'TRACE') .../includes/classes/class.debug.php 112 FirePHP->trace('Backtrace') .../index.php 64 debug->firephp_command('trace')
Screenshot
[Bearbeiten] #3: Ausgabe von SQL-Queries mit Ausführungszeit => 'sqltime'
$log->firephp_command('sqltime', $sql_query);
Ausgabe in der Konsole (z.B.)
MYSQL_DUMP (5.5.8) => Resource id #129 SQL-Query: SELECT * FROM orders SQL-Query Time (+PHP Overhead): 0.00054693 SQL-Query Time (-PHP Overhead): 0.00031625 Result #1: array('orders_id'=>'1', 'customers_id'=>'1', 'customers_cid'=> ... ) Result #2: array('orders_id'=>'10', 'customers_id'=>'1', 'customers_cid'=> ... ) [...]
(Ist eine SQL-Query leer oder falsch, erscheint eine Fehlermeldung/Exception)
Screenshot




