Chinaunix

标题: 升级到PHP 5.2.2之后XMLRPC的问题解决方法($HTTP_RAW_POST_DATA异常) [打印本页]

作者: 夜猫子    时间: 2007-05-21 20:02
标题: 升级到PHP 5.2.2之后XMLRPC的问题解决方法($HTTP_RAW_POST_DATA异常)
昨晚升级把php从5.2.1升级到了5.2.2,然后发现XMLRPC服务不正常
常见的XMLRPC库(phpxmlrpc和pear::xmlrpc)的代码中,获取客户端提交的代码都类似于:

  1. if ($data === null)
  2. {
  3.     $data = isset($GLOBALS['HTTP_RAW_POST_DATA']) ? $GLOBALS['HTTP_RAW_POST_DATA'] : '';
  4. }
复制代码

由于php 5.2.2中,$HTTP_RAW_POST_DATA无法正常的赋值,因此会导致XMLRPC服务无法获取客户端提交的数据

解决办法是添加一段代码

  1. if (phpversion()=="5.2.2") $GLOBALS['HTTP_RAW_POST_DATA'] = file_get_contents("php://input");
复制代码


今天被这个问题搞惨了,其它使用XMLRPC库的兄弟们小心点
作者: james.liu    时间: 2007-05-22 08:44
moden cat




欢迎光临 Chinaunix (http://bbs.chinaunix.net/) Powered by Discuz! X3.2