35

Python組み込みWebサーバーではprint、関数で使用すると、ターミナルに結果が出力されます...

例えば:

Django version 1.3.4, using settings 'parsicore.settings'
Development server is running at http://0.0.0.0:8000/
Using the Werkzeug debugger (http://werkzeug.pocoo.org/)
Quit the server with CONTROL-C.


127.0.0.1 - - [16/Jan/2013 02:02:08] "GET / HTTP/1.1" 200 -
hello ... print 1 2 3 

PHPの組み込みWebサーバーでこのようなものを印刷するにはどうすればよいですか?

たとえば、ターミナルで $_POST を出力したい。私はphp -S 127.0.0.1:3000PHP組み込みWebサーバーを実行するために使用します。

4

4 に答える 4

39

データを error_log() にパイプするだけです:

error_log(print_r($_REQUEST, true));

于 2015-04-17T01:07:58.153 に答える
34

PHP 5.4+ に組み込まれている開発用 Web サーバーは、思いどおりに動作しません。つまり、これは PHP プロセスではないため、コードを実行させることはできません。

指定されたディレクトリから PHP アプリケーションとコンテンツを提供するように設計されています。サーバー プロセスの出力は、アクセス ログです。関数を使用してログに書き込むことができerror_logます。値は 4 としてmessage_type. したがって、理論的には、次のようなことができます

ob_start();
var_dump($_POST);
error_log(ob_get_clean(), 4);

デバッグを実行しようとしているようです。何かをつなぎ合わせるのではなく、実際のデバッグ ツールを使用する必要があります。

于 2013-01-16T08:30:58.343 に答える
0
<?php
// PHP 7.4 and up

define('STDOUT', fopen('php://stdout', 'w'));
fwrite(STDOUT, print_r($_REQUEST, true));

于 2021-08-31T13:30:02.160 に答える