1、问题:微信公众平台官方提供下载的示例代码中,使用$postStr =$GLOBALS["HTTP_RAW_POST_DATA"];来获取微信服务器推送的消息数据。但是有的开发者在使用的过程中发现无法接收到信息(例如使用了新浪云)。
2、原因:其根本原因在于接口配置的url所在服务器设置了register_globals=off。 从PHP4.2.0版本开始,php.ini设置选项中register_globals的默认值变成了off。
3、解决方法:1)修改php.ini设置,将register_globals值设置为on。如果没有权限修改php.ini,则采用以下方法。2)本文提供另一种接收消息的方式:将官方示例中:$postStr = $GLOBALS["HTTP_RAW_POST_DATA"];替换为: $postStr = file_get_contents("php://input");