最近同事反映收不到我的路由器POST的数据,还一直说是我路由器的问题!!!!
关于这种事情,我是一向鄙夷的,我唯一做的就是在服务器上打开WireShark,抓包给他看,你看到了没,这是是不是我发给你的数据,看到了就自己查问题吧。
谁知道,这样还没有结束,感觉写php的人是不是都不喜欢思考原理.
好了,说说这个问题,我昨天晚上帮他查的。
服务器段接收需要开启php.ini中的always_populate_raw_post_data = On
并且接受变量为$HTTP_RAW_POST_DATA或者$GLOBALS["HTTP_RAW_POST_DATA"]或者file_get_contents( "php://input"),
不能使用$_POST
服务器端测试代码test.php:
<?php
//header("Content-Type:text/plain;charset=utf-8")
print_r("Hello Wowrld\n");
print_r($_POST);
echo $HTTP_RAW_POST_DATA;
//echo $GLOBALS["HTTP_RAW_POST_DATA"];
//echo file_get_contents( "php://input");
?>