微信接口开发中的 $GLOBALS[“HTTP_RAW_POST_DATA”],针对php6及以上服务器环境,php.ini中always_populate_raw_post_data默认配置是-1,但是微信接口文件中[$GLOBALS[“HTTP_RAW_POST_DATA”]]需要设置为on。所以默认情况下,接口开发接口信息是有问题的。
有2种解决方法:
1、直接修改php.ini中
always_populate_raw_post_data=on 后重启服务器,这个能解决微信开发问题,但是若我们服务器上有其他项目如:tp3中自动开启session的,就会报错!就会出现类似如下的错误:
session_start(): Cannot send session cache limiter - headers already sent
总结:修改php.ini always_populate_raw_post_data = On会影响到其他项目;
2、不修改服务器配置的前提下,直接修改接口文件用 file_get_contents(“php://input”) 代替$GLOBALS[“HTTP_RAW_POST_DATA”] 即可完美解决。xuduowei 亲测无误!推荐使用!
关注公众号,了解更多it技术(it问答网)