找回密码
 注册

[PHP] Notice: Undefined variable: HTTP_RAW_POST_DATA

php 发表于 2015/11/6 02:30 | 显示全部楼层 |阅读模式
Notice: Undefined variable: HTTP_RAW_POST_DATA in D:\Web\www\local\index.php on line 3

$HTTP_RAW_POST_DATA不存在主要是因为
  • php.ini中没有开启always_populate_raw_post_data
  • PHP 5.6开始已经废止always_populate_raw_post_data,$HTTP_RAW_POST_DATA变量自然是未定义。
  • 可以通过php://input来获取原生的POST数据,然后赋给变量 $HTTP_RAW_POST_DATA来实现类似的功能。
  1. <?php
  2.         ini_set('always_populate_raw_post_data',-1);
  3.         $HTTP_RAW_POST_DATA = file_get_contents('php://input');
  4.         echo $HTTP_RAW_POST_DATA;
  5. ?>
复制代码
$_POST和$HTTP_RAW_POST_DATA的区别在于$_POST是一个数组,可以根据表单控件的name来获取对应的控件提交过来的值,而是$HTTP_RAW_POST_DATA本质上是一个字符串,由表单控件的name及value组装而成,形如from=51-n.com&name=wuxiancheng,而php://input属于输入流,可以简单理解为一个文件,打开这个文件即可以得到内容。

手机版|轻松E站

轻松E站

快速回复 返回顶部 返回列表