Php 如何获取POST数据

Php 如何获取POST数据,php,post,webserver,reactphp,Php,Post,Webserver,Reactphp,我试图在一个PHP Web服务器上运行一个简单的Web应用程序,但我不知道从哪里可以获得来自HTML表单的POST数据。服务器定义为: include 'vendor/autoload.php'; register_shutdown_function(function() { echo implode(PHP_EOL, error_get_last()), PHP_EOL; }); $loop = React\EventLoop\Factory::create(); $socket

我试图在一个PHP Web服务器上运行一个简单的Web应用程序,但我不知道从哪里可以获得来自HTML表单的POST数据。服务器定义为:

include 'vendor/autoload.php';

register_shutdown_function(function() {
    echo implode(PHP_EOL, error_get_last()), PHP_EOL;
});

$loop = React\EventLoop\Factory::create();
$socket = new React\Socket\Server($loop);
$http = new React\Http\Server($socket);
$http->on('request', function(React\Http\Request $request, React\Http\Response $response) {
    print_r($request);
    $response->writeHead(200, array('Content-type' => 'text/html'));
    $response->end('<form method="POST"><input type="text" name="text"><input type="submit" name="submit" value="Submit"></form>');
});
$socket->listen(9000);
$loop->run();
在这里,我在任何地方都找不到我的数据。我认为它应该位于
查询
属性中,但它是空的

当我发出GET请求时,可以在
$request
对象的
query
属性中找到querystring中传递的数据


那么,我在哪里可以找到POST请求传递的数据呢?

我在这里重复我的问题的最后一次编辑,这样这个问题就可以标记为已回答

没关系,我找到了答案。基本上,React PHP似乎还不支持读取POST数据的简单方法。但是,我们可以做的是,在数据到来时立即读取数据,观察
$request
对象的事件
data

$request->on('data', function($data) {
  // Here $data contains our POST data.
  // The $request needs to be manually ended, though.
});

您可以遵循这个拉取请求并了解其原因。我怀疑这是针对旧版本的ReactPHP-
React\Socket\Server
在第二个参数处进行循环,而不是第一个参数。我相信在编写本文时,0.7.x是最新版本。对于ReactPHP的当前版本,获取原始帖子正文的代码是。如果是常规键值数据,则可以将其解析为单独的字段。
$request->on('data', function($data) {
  // Here $data contains our POST data.
  // The $request needs to be manually ended, though.
});