最新消息: 新版网站上线了!!!

PHP7 :不再支持 $HTTP_RAW_POST_DATA 变量

PHP7 :不再提供 $HTTP_RAW_POST_DATA 变量。 请使用 php://input 作为替代。


我的系统中,使用的一个xmlrpc插件中就使用了$HTTP_RAW_POST_DATA</a>,但是现在php升级为7之后,不支持$HTTP_RAW_POST_DATA,使用file_get_contents('php://input')替代,具体过程如下:

修改third_party/xml-rpc/class-IXR.php文件中的

       //php 版本升级为7之后不支持HTTP_RAW_POST_DATA

//        if (!$data) {

//            global $HTTP_RAW_POST_DATA;

//            if (!$HTTP_RAW_POST_DATA) {

//               die('XML-RPC server accepts POST requests only.');

//            }

//            $data = $HTTP_RAW_POST_DATA;

//        }

        //修改如下

        if(!$data){

            if(isset($_SERVER['REQUEST_METHOD']) && $_SERVER['REQUEST_METHOD'] !== 'POST'){

                header('Content-Type:text/plain');

                die('XML-RPC server accepts POST requests only.');

            }

            global $HTTP_RAW_POST_DATA;

            if(empty($HTTP_RAW_POST_DATA)){

                $data = file_get_contents('php://input');

            }else{

                $data = & $HTTP_RAW_POST_DATA;

            }

        }


转载请注明:谷谷点程序 » PHP7 :不再支持 $HTTP_RAW_POST_DATA 变量