首页 > 代码库 > Apache+PHP5+Mysql中收取Socket的POST数据问题

Apache+PHP5+Mysql中收取Socket的POST数据问题

最近同事反映收不到我的路由器POST的数据,还一直说是我路由器的问题!!!!

关于这种事情,我是一向鄙夷的,我唯一做的就是在服务器上打开WireShark,抓包给他看,你看到了没,这是是不是我发给你的数据,看到了就自己查问题吧。

谁知道,这样还没有结束,感觉写php的人是不是都不喜欢思考原理.


好了,说说这个问题,我昨天晚上帮他查的。


服务器段接收需要开启php.ini中的always_populate_raw_post_data = http://www.mamicode.com/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");
?>