微信公众号提供的服务器故障,微信公众号出现“该公众号提供的服务出现故障”解决办法...

1、直接回复success(推荐方式)

2、直接回复空串(指字节长度为0的空字符串,而不是XML结构体中content字段的内容为空)

public function responseMsg() {    //$postStr = $GLOBALS["HTTP_RAW_POST_DATA"];    $postStr = file_get_contents('php://input');    if (!empty($postStr)) {        $postObj = simplexml_load_string($postStr); //, 'SimpleXMLElement', LIBXML_NOCDATA        //关注事件时推送消息        if (strtolower($postObj->MsgType) == 'event') {//事件            if (strtolower($postObj->Event == 'subscribe')) {//关注                $domain = Yii::$app->params['domain']['www'];                $imgDomain = Yii::$app->params['domain']['img'] . 'logo.png';                $array = array(                    array('title' => '欢迎关注一网超市',                        'description' => '上一网 逛超市 多快好省!',                        'picUrl' => $imgDomain,                        'url' => $domain,                    ),                );                $textTpl = "                                                            %s                                                " . count($array) . "                        ";                foreach ($array as $key => $val) {                    $textTpl .= "                                                             ";                }                $textTpl .= "                        ";                $fromUserName = $postObj->FromUserName;                $toUserName = $postObj->ToUserName;                $time = time();                echo sprintf($textTpl, $fromUserName, $toUserName, $time, 'news');                $ret = array('openid' => "$fromUserName", 'event' => 'subscribe');                return json_encode($ret);            } else if ($postObj->Event == "VIEW") {                $fromUserName = $postObj->FromUserName;                $ret = array('openid' => "$fromUserName", 'event' => 'VIEW');                return json_encode($ret);            } else if ($postObj->Event == "CLICK") {                $fromUserName = $postObj->FromUserName;                $ret = array('openid' => "$fromUserName", 'event' => 'VIEW');                return json_encode($ret);            } else {                $fromUserName = $postObj->FromUserName;                $ret = array('openid' => "$fromUserName", 'event' => 'VIEW');                return json_encode($ret);            }        } else {//$postObj->MsgType=text 在公众号发消息收到的就是text类型            echo '';//这里就是回复的空字符串或者success,即echo 'success';            exit;//这个退出是关键,必须加上,没有则还是会出现那个标题的提示        }    } else {        echo '';        exit;    }}

问题二是说回复了异常的json,就是回复消息时拼的xml中包含了空格,大家可以看下,自己是否也存在类似错误。

如:

   12345678   

去掉空格后:

12345678

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值