无法使用 file_get_contents('php://input') 检索原始 post 数据

can't retrive raw post data using file_get_contents('php://input')

这是我的代码。我正在使用 post 方法 post 处理我的数据。

$post_body = file_get_contents('php://input');
if(getenv('REQUEST_METHOD') == 'POST'){
    print_r( array( "3","3d"));
}
print_r($post_body);

我正在使用 chrome 的 postman 来测试此代码,但它不打印 post 数据,请参阅输出图像。

我做错了什么???

编辑

为了展示我是如何解决我的问题的,我添加了这张图片。

根据PHP documentation

php://input is not available with enctype="multipart/form-data".

Postman 支持不同类型的 Content-Type 包括 multipart/form-data 这似乎是默认的。

因此请确保您不使用 multipart/form-data(在 Body 选项卡中)。

我在测试 symfony 端点时遇到了类似的问题,但原因完全不同:

我的class里面只有功能。我做了

var_dump(file_get_contents('php://input'));

在我函数的第一行,恰好是 class 中的第一个函数。即使参数正确,这也会返回空(“”)。

我的问题是我忘记使用 FULL 路由到这个,但是由于邮递员试图 运行 这个功能无论如何让我有太多时间去注意。 希望能帮助到你!