411 Stimmen

Wie kann ich in PHP in die Konsole schreiben?

Ist es möglich, einen String zu schreiben oder in die Konsole zu protokollieren?

Was ich meine

Genau wie in JSP, wenn wir etwas drucken wie system.out.println("some") Wenn Sie eine Seite auswählen, wird sie in der Konsole angezeigt, nicht auf einer Seite.

13voto

Majkel Punkte 41

Ich denke, die beste Lösung ist die Verwendung von error_log(content) Dies ist die Ausgabe

2022 bearbeiten:

Also habe ich einen besseren Weg gefunden, und das ist file_put_contents(“php://stdout”, content)

Er schreibt ohne die Protokollierungsinformationen

11voto

zee Punkte 359

Ich finde das hilfreich:

function console($data, $priority, $debug)
{
    if ($priority <= $debug)
    {
        $output = '<script>console.log("' . str_repeat(" ", $priority-1) . (is_array($data) ? implode(",", $data) : $data) . '");</script>';

        echo $output;
    }
}

Und verwenden Sie es wie:

<?php
    $debug = 5; // All lower and equal priority logs will be displayed
    console('Important', 1 , $debug);
    console('Less Important', 2 , $debug);
    console('Even Less Important', 5 , $debug);
    console('Again Important', 1 , $debug);
?>

Die Ausgaben in der Konsole:

Important
 Less Important
     Even Less Important
Again Important

Und Sie können weniger wichtige Protokolle abschalten, indem Sie sie mit dem Wert $debug einschränken.

9voto

Carlos Lugo Punkte 89

Kurz und einfach, für Arrays, Strings oder auch Objekte.

function console_log( $data ) {
  $output  = "<script>console.log( 'PHP debugger: ";
  $output .= json_encode(print_r($data, true));
  $output .= "' );</script>";
  echo $output;
}

8voto

ashraf mohammed Punkte 1252
function phpconsole($label='var', $x) {
    ?>
    <script type="text/javascript">
        console.log('<?php echo ($label)?>');
        console.log('<?php echo json_encode($x)?>');
    </script>
    <?php
}

8voto

Sebastian Zartner Punkte 17513

Für Chrome gibt es eine Erweiterung namens Chrom-Logger die es ermöglicht, PHP-Meldungen zu protokollieren.

Die Firefox DevTools haben sogar integrierte Unterstützung für das Chrome-Logger-Protokoll .

Um die Protokollierung zu aktivieren, müssen Sie lediglich die Datei 'ChromePhp.php' in Ihrem Projekt. Dann kann es wie folgt verwendet werden:

include 'ChromePhp.php';
ChromePhp::log('Hello console!');
ChromePhp::log($_SERVER);
ChromePhp::warn('something went wrong!');

Beispiel aus der GitHub-Seite .

Die Ausgabe könnte dann wie folgt aussehen:

Server log within Firefox DevTools

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