RSS Feed

PHP Debug Output

02.04.2009 by naden

Grundsätzlich sollte man nie an einem Livesystem arbeiten. In der Praxis kommt das leider immer mal wieder vor, wenn man kein komplett gespiegeltes System zum Testen hat.

Den Debug Output vor dem Besucher zu verstecken ist oberstes Gebot. Dazu zwei simple Lösungen:

print_r()

printf( '<!-- %s -->', print_r( $var, true ) );

var_dump()

ob_start();
var_dump( $var );
printf( '<!-- %s -->', ob_get_clean() );

var_export()

printf( '<!-- %s -->', var_export( $var, true ) );

By killerbees liefert allerdings PHP-Code zurück.

Die Lösung mit print_r() gefällt etwas besser, da sie nur eine einzige Zeile benötigt.


6 Kommentare »

  1. killerbees19 sagt:

    Und bevor wir jetzt umständlich var_dump() mit einem Ausgabebuffer verwenden: Wie wärs mit var_export() und dem zweiten Parameter? :P

    MfG Christian

  2. Nico sagt:

    Eine andere Lösung ist, die eigene (statische) IP-Adresse abzufragen:

    $meine_ip = “12.34.56.78″;
    if( $_SERVER['REMOTE_ADDR'] == $meine_ip ):
    var_dump( $var );
    endif;

    Zusätzlich kann man auch noch GET-Parameter abfragen usw.

  3. naden sagt:

    @killerbees19, gute Ergänzung. Allerdings liefert var_export im Gegensatz zu var_dump PHP-Code zurück anstelle der Textentsprechung zurück.

  4. naden sagt:

    @nico, vorrausgesetzt, du hast eine statische IP ist das ok. Ansonsten kannst du auch einen “geheimen” Key mit übergeben und überprüfen.

  5. Dominik sagt:

    Kleiner Trick von mir, wenn ich keine statische IP zur Verfügung habe:
    Einfach ein Cookie manuell im Browser setzen.

    LG Dominik

  6. naden sagt:

    @dominik, dass ist auch eine gute Idee.

Hinterlasse eine Antwort

Deine E-Mail-Adresse wird nicht veröffentlicht. Erforderliche Felder sind markiert *

*

Du kannst folgende HTML-Tags benutzen: <a href="" title=""> <abbr title=""> <acronym title=""> <b> <blockquote cite=""> <cite> <code> <del datetime=""> <em> <i> <q cite=""> <strike> <strong>