php知识积累PHP经验分享

微信公众号的那些坑

2016-12-09  本文已影响64人  hey_沙子

最近这段时间做了一个公众号的项目,从一点不会,到现在整个项目打通了,这其中当然经历了不少坑。下面我就和大家分享一下我遇到的那些坑:

微信公众号服务器配置提交url失败

开发者验证signature时,token、timestamp、nonce这三个参数大家并不陌生吧,但还有一个参数大家可不能忽视,那就是 echostr,首次验证一定要明文输出echostr,并exit ,不然在服务器配置的地方很有可能提交url不成功

public function valid(){

   $echoStr = Yii::$app->request->get('echostr');

   if($this->checkSignature()){

        echo $echoStr;

        exit;

    }

}

微信公众平台接收不到消息

$postStr = $GLOBALS["HTTP_RAW_POST_DATA"];

$GLOBALS['HTTP_RAW_POST_DATA'] :总是产生 $HTTP_RAW_POST_DATA
变量包含有原始的 POST 数据。此变量仅在碰到未识别 MIME 类型的数据时产生。$HTTP_RAW_POST_DATA 对于 enctype="multipart/form-data" 表单数据不可用。也就是说基本上$GLOBALS['HTTP_RAW_POST_DATA']$_POST是一样的。
此时我们可以试试

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

用户关注公众号得到openid存到cookie获取不到

只能关注后得到openid存到数据库里,这样以后就可以查库了。开始我傻傻的在这里存cookie,发现怎么也拿不到cookie值。后来才知道关注是推送xml到服务器,不是直接访问服务器,放cookie里是不管用的,除非在回复消息里面带着用户信息

微信分享提示:{“errMsg”:“config: invalid url domain”}

登录公众平台,点击右上角的公众号进入公众号设置,里面有个功能设置,把你要分享的域名填写到“JS接口安全域名”保存。注意:填写的是字符串格式
例如域名为:http://www.abc.com
你应该写成www.abc.com
还有一种可能是你公众号的配置里面没有写你需要分享的域名

微信分享到朋友圈获取不到自定义信息和分享成功后不回调

如果有哪里不对,希望大家提出以免误导其他人

上一篇下一篇

猜你喜欢

热点阅读