解决方案 »

  1.   

    always_populate_raw_post_data = On当以 post 方式提交时,可用 
    echo $HTTP_RAW_POST_DATA;
    打印出提交过来的无格式串当然不是 post 方式提交时,就是未定义
      

  2.   

    其实这本可以用 file_get_contents('php://input') 代替的
      

  3.   


    我的源代码方法是这样的:
     public function responseMsg()
        {
            $postStr = $GLOBALS["HTTP_RAW_POST_DATA"];        if (!empty($postStr)){
                $postObj = simplexml_load_string($HTTP_RAW_POST_DATA, 'SimpleXMLElement', LIBXML_NOCDATA);
                $fromUsername = $postObj->FromUserName;
                $toUsername = $postObj->ToUserName;
                $keyword = trim($postObj->Content);
                $time = time();
                $textTpl = "<xml>
                            <ToUserName><![CDATA[%s]]></ToUserName>
                            <FromUserName><![CDATA[%s]]></FromUserName>
                            <CreateTime>%s</CreateTime>
                            <MsgType><![CDATA[%s]]></MsgType>
                            <Content><![CDATA[%s]]></Content>
                            <FuncFlag>0</FuncFlag>
                            </xml>";
                if($keyword == "?" || $keyword == "?")
                {
                    $msgType = "text";
                    $contentStr = date("Y-m-d H:i:s",time());
                    $resultStr = sprintf($textTpl, $fromUsername, $toUsername, $time, $msgType, $contentStr);
                    echo $resultStr;
                }
            }else{
                echo "";
                exit;
            }
        }帮我看下
      

  4.   

     public function responseMsg() {
            if(! isset($GLOBALS["HTTP_RAW_POST_DATA"])) return '';
            $postStr = $GLOBALS["HTTP_RAW_POST_DATA"];
      

  5.   


    我用这个方法试了下,这样直接return了。。然后下面的代码就没有实现了。。不晓得咋弄了
      

  6.   

    直接运行,当然是直接返回
    要是 post 提交的才行