您的位置:首页 > 移动开发 > 微信开发

解决小松博客微信公众号不能使用的问题

2016-08-19 12:00 218 查看




很早的时候我就发现小松的博客微信公众号不能使用了,本以为是网站的域名cdn的问题导致的,所以一直也没有想出好的方法,来解决问题,公众号也没有什么人。今天打算静下心来解决这个问题。结果万万没有想到问题所在。

叙述解决问题的过程

小松的博客绑定两个域名,可以用两个域名访问网站,于是在百度里找了wordpress绑定两个域名的方法

在wp-config.php配置文件里,添加代码

if ($_SERVER['HTTP_HOST']=='weixin.phpsong.com'){
define("WP_SITEURL", "http://weixin.phpsong.com");
define("WP_HOME", "http://weixin.phpsong.com");
}

php 用define定义的常量,在之后的程序中不能被修改,上面的代码就使用了这条规则,把域名修改过来

然后修改主题下的function.php,我在程序做了控制,域名不是www.phpsong.com的做301跳转

把微信公众平台修改成weixin.phpsong.com的域名,测试结果还是有问题

于是我查了nginx的访问日志,发现有访问过接口的记录,是post访问的,貌似
post
过来的数据cdn是不能缓存的,难道微信接口有问题?

于是开始查微信接口的程序,开启日志功能,发现问题

$postStr = $GLOBALS["HTTP_RAW_POST_DATA"];

返回的数据是空的,于是百度了一下

网上说在php.ini里添加了

always_populate_raw_post_data=On

就可以访问了,结果测试不行,怀疑php7不支持这种方式,我确定是php5.6里是可以访问的

然后参考 http://php.net/manual/zh/reserved.variables.httprawpostdata.php

使用
php://input
代替
$HTTP_RAW_POST_DATA


把代码修改成

$postStr = file_get_contents("php://input");

发现可以了,现在微信公众号可以访问了

QQ交流群:136351212
查看原文:http://www.phpsong.com/2362.html
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: 
相关文章推荐