php6及以上版本中微信接口开发$GLOBALS[“HTTP_RAW_POST_DATA”]需要always_populate_raw_post_data=on,这个方法不推荐使用

微信接口开发中的 $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 亲测无误!推荐使用!

 

发表评论

电子邮件地址不会被公开。