微信公众号开发踩坑:$GLOBALS['HTTP_RAW_POST_DATA']无法获取数据

2022-09-26  阅读 951 次

微信公众号开发踩坑:$GLOBALS['HTTP_RAW_POST_DATA']无法获取数据

昨天更新了云服务部署的PHP版本,结果发现微信公众号提示“该微信公众号暂时无法提供服务”,仔细去检查代码,发现$GLOBALS["HTTP_RAW_POST_DATA"]获取的数据是空的。经过资料查找,发现 php >= 5.6 的时候 HTTP_RAW_POST_DATA 被移除了。但是 php = 5.6 可以在配置文件 php.ini 还能找到 always_populate_raw_post_data 选项。初始的配置文件 always_populate_raw_post_data = -1 是被注释的,去掉前面的 ; 分号就行了。

当 php >= 7.0 就已经彻底移除了 always_populate_raw_post_data 配置。所以解决方法就是使用get_file_contents(“php://input”) 方式获取数据。


附:

1、如果是 application/x-www-form-urlencoded 和 multipart/form-data 格式 用 $_POST;

2、如果不能获取的时候比如 text/xml、application/json、soap,使用 file_get_contents('php://input');


本文地址:https://yaaibk.com/post/287.html
版权声明:本文为原创文章,版权归 本站 所有,欢迎分享本文,转载请保留出处!

评论已关闭!