354 votes

Comment écrire dans la console en PHP ?

Est-il possible d'écrire une chaîne ou de se connecter à la console ?

Ce que je veux dire

Tout comme en jsp, si nous imprimons quelque chose comme system.out.println("some") il sera là à la console et non à la page.

0 votes

Si vous utilisez WordPress, j'ai un solution pour vous.

462voto

Senador Points 351

Ou vous utilisez l'astuce de ce site web Débogage de PHP vers la console

Vous avez d'abord besoin d'une petite fonction d'aide php

function debug_to_console( $data ) {

    if ( is_array( $data ) )
        $output = "<script>console.log( 'Debug Objects: " . implode( ',', $data) . "' );</script>";
    else
        $output = "<script>console.log( 'Debug Objects: " . $data . "' );</script>";

    echo $output;
}

Vous pouvez alors l'utiliser comme suit

debug_to_console( "Test" );

Cela créera une sortie comme celle-ci :

Debug Objects: Test

6 votes

Dans FireFox v27, le résultat est le suivant "Debug Objects: " . $data . ""

0 votes

La seule façon de rendre cette fonction plus utile serait de créer une paire variable $name : 'data' dans le journal. Belle fonction cependant.

0 votes

Une solution parfaite. Il suffit d'échanger console.log POUR alert et vous créez une boîte d'alerte, qui peut être utile si vous voulez savoir exactement quand (dans une série d'événements) quelque chose se produit.

152voto

Malachi Points 5733

Firefox

Sur Firefox, vous pouvez utiliser une extension appelée FirePHP qui permet d'enregistrer et de transférer les informations de vos applications PHP vers la console. Il s'agit d'un addon à la formidable extension de développement web Firebug .

Chrome

Cependant, si vous utilisez Chrome, il existe un outil de débogage PHP appelé webug ou Enregistreur de Chrome .

Plus récemment Horloge en cours de développement qui étend les outils du développeur en ajoutant un nouveau panneau pour fournir des informations utiles de débogage et de profilage. Il offre un support immédiat pour Laravel 4 et Slim 2 et le support peut être ajouté via son API extensible.

6 votes

Il existe également une extension Safari pour déboguer PHP, appelée Xdebug Helper. Je l'ai installée à partir de cette page : extensions.apple.com/#tab

1 votes

Je pense que la meilleure extension de débogage pour Google Chrome est la console PHP. chrome.google.fr/webstore/detail/php-console/

0 votes

Rien pour Internet Explorer ? Je sais que ce n'est pas le numéro un, mais c'est quand même là...

77voto

Travis Points 315

Si vous recherchez une approche simple, l'écho en tant que JSON :

<script>
    console.log(<? echo json_encode($foo); ?>);
</script>

Je sais que cette question est VRAIMENT ancienne, mais je viens de la trouver.

5 votes

Cela ajoute un peu plus de contexte : function debug_log( $object=null, $label=null ){ $message = json_encode($object, JSON_PRETTY_PRINT); $label = "Debug" . ($label ? " ($label): " : ': '); echo "<script>console.log(\"$label\", $message);</script>"; }

1 votes

Le PO indique qu'il voulait imprimer sur la sortie standard, pas sur la console html/js.

0 votes

@beppe9000 C'est incorrect. Le PO demande s'il peut écrire depuis PHP vers la console. Citation : "Est-il possible d'écrire une chaîne ou de se connecter à la console ?"

47voto

nikc.org Points 7275

Par défaut, toutes les sorties vont vers stdout qui est la réponse HTTP ou la console, selon que votre script est exécuté par Apache ou manuellement sur la ligne de commande. Mais vous pouvez utiliser error_log pour la journalisation et divers flux d'E/S peut être écrit avec fwrite .

12 votes

Merci, error_log est ce que j'avais besoin de transmettre au terminal à partir de l'application Serveur web intégré PHP

7voto

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

1 votes

L'OP déclare qu'il voulait imprimer vers le terminal côté serveur / sortie standard, et non vers la console html/js.

Prograide.com

Prograide est une communauté de développeurs qui cherche à élargir la connaissance de la programmation au-delà de l'anglais.
Pour cela nous avons les plus grands doutes résolus en français et vous pouvez aussi poser vos propres questions ou résoudre celles des autres.

Powered by:

X