首页
学习
活动
专区
工具
TVP
发布
社区首页 >问答首页 >在PHP内置web服务器中打印内容

在PHP内置web服务器中打印内容
EN

Stack Overflow用户
提问于 2013-01-16 16:04:58
回答 3查看 30.1K关注 0票数 35

在python内置的web服务器中,当在函数中使用print时,它会在终端中打印结果。

例如:

代码语言:javascript
复制
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服务器。

EN

回答 3

Stack Overflow用户

发布于 2015-04-17 09:07:58

只需通过管道将您的数据传递给error_log():

代码语言:javascript
复制
error_log(print_r($_REQUEST, true));
票数 38
EN

Stack Overflow用户

发布于 2018-02-27 19:27:24

php内置服务器将输出写入php://stdout流,这意味着您可以向其输出任何内容,但这应该仅用于调试。

下面是一个快速示例,说明如何实现写入服务器控制台的结果:

代码语言:javascript
复制
<?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);
票数 9
EN

Stack Overflow用户

发布于 2021-08-31 13:30:02

代码语言:javascript
复制
<?php
// PHP 7.4 and up

define('STDOUT', fopen('php://stdout', 'w'));
fwrite(STDOUT, print_r($_REQUEST, true));
票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/14353767

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档