Php 未定义变量:HTTP_原始_POST_数据

Php 未定义变量:HTTP_原始_POST_数据,php,Php,当我对$HTTP\u RAW\u POST\u数据进行简单的回显时,我得到了错误: Undefined variable: HTTP_RAW_POST_DATA 我在php.ini中读到,我需要取消勾选 always_populate_raw_post_data = On 但是我仍然得到了错误,我也重新启动了Apache。Im使用PHP5.3.6如果您需要访问原始帖子正文,您应该非常喜欢使用php://input根据以下内容对$HTTP\u RAW\u POST\u数据进行流式传输: php

当我对$HTTP\u RAW\u POST\u数据进行简单的回显时,我得到了错误:

Undefined variable: HTTP_RAW_POST_DATA
我在php.ini中读到,我需要取消勾选

always_populate_raw_post_data = On

但是我仍然得到了错误,我也重新启动了Apache。Im使用PHP5.3.6

如果您需要访问原始帖子正文,您应该非常喜欢使用
php://input
根据以下内容对
$HTTP\u RAW\u POST\u数据进行流式传输:

php://input 是一个只读流,允许您读取原始数据 来自请求主体。对于POST请求,最好是 使用php://input 而不是$HTTP\u RAW\u POST\u数据,因为它没有 依赖于特殊的php.ini指令。此外,对于以下情况: 默认情况下,$HTTP_RAW_POST_数据不填充,它可能是一个 与激活相比,内存占用更少 始终填充原始数据。php://input 不适用于 enctype=“多部分/表单数据”

因此,要使用
php://input

$post = file_get_contents('php://input');
如果你得到

注意:未定义变量:HTTP\u RAW\u POST\u数据

请打开您的服务器文件添加查找

$server->service($HTTP_RAW_POST_DATA);
并替换为以下两行

if ( !isset( $HTTP_RAW_POST_DATA ) ) $HTTP_RAW_POST_DATA =file_get_contents( 'php://input' );
$server->service($HTTP_RAW_POST_DATA);

我希望这会有所帮助。

您是否为任何web服务使用任何HTTP_RAW_POST_数据?在本例中,没有,但我最初遵循此页面并得到错误,因此我创建了一个页面来调查错误。谢谢,我在阅读未定义的web服务时也看到了这一点,但我没有想到使用它。但我错了,谢谢!Milap你知道如何从php脚本获得响应吗?因为我使用了soap服务,它运行良好,搜索了许多文章,他们建议我实现ajax,php是服务器端,我想从它获得响应,以便我可以在html表单中使用它…@San这里我写了一个简单的示例。看一看。。