在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:3000
来运行PHP内置的web服务器。
发布于 2015-04-17 09:07:58
只需通过管道将您的数据传递给error_log():
error_log(print_r($_REQUEST, true));
发布于 2018-02-27 19:27:24
php内置服务器将输出写入php://stdout
流,这意味着您可以向其输出任何内容,但这应该仅用于调试。
下面是一个快速示例,说明如何实现写入服务器控制台的结果:
<?php declare(strict_types=1);
/**
* This is for development purpose ONLY !
*/
final class ServerLogger {
/**
* send a log message to the STDOUT stream.
*
* @param array<int, mixed> $args
*
* @return void
*/
public static function log(...$args): void {
foreach ($args as $arg) {
if (is_object($arg) || is_array($arg) || is_resource($arg)) {
$output = print_r($arg, true);
} else {
$output = (string) $arg;
}
fwrite(STDOUT, $output . "\n");
}
}
}
// usage example :
ServerLogger::log('Hello, world!');
// outputting an array :
ServerLogger::log($_SERVER);
发布于 2021-08-31 13:30:02
<?php
// PHP 7.4 and up
define('STDOUT', fopen('php://stdout', 'w'));
fwrite(STDOUT, print_r($_REQUEST, true));
https://stackoverflow.com/questions/14353767
复制相似问题