php接收cgi,如何将POST数据传递给PHP-CGI?

更新:

绝望之下,我在shell中做了以下事情:

REDIRECT_STATUS=true

SCRIPT_FILENAME=/var/www/...

REQUEST_METHOD=POST

GATEWAY_INTERFACE=CGI/1.1

export REDIRECT_STATUS

export SCRIPT_FILENAME

export REQUEST_METHOD

export GATEWAY_INTERFACE

echo "test=1" | php-cgi

…并且仍然没有$_POST变量显示在此输出中:

我正在尝试创建一个与php-cgi二进制文件接口的小型Web服务器.然而,情况并不顺利. php-cgi二进制文件正确处理GET请求.当涉及POST请求时,$_POST数组为空,即使事情正在进行POST.

我已经检查了HTTP标头被输入到php-cgi二进制文件中,它们确实包含了POST数据和Content-type:application / x-www-form-urlencoded标头.

什么可以让php-cgi二进制文件看不到请求中包含的POST数据?

我正在取得进展,我从PHP source code挖出了一些东西:

468: static int sapi_cgi_read_post(char *buffer, uint count_bytes TSRMLS_DC)

(我不知道从哪里调用这个函数.)

看完下面的答案,我试过:

var_dump($HTTP_RAW_POST_DATA);

?>

……产生了输出:

NULL

……表明在这里工作的东西更奇怪.

SAPI_API SAPI_POST_READER_FUNC(php_default_post_reader)

…它似乎是处理POST请求的代码.

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值
>