首页 » 网站建设 » php答复大众号技巧_微信号调试时该号供应的做事出现故障请稍后再试

php答复大众号技巧_微信号调试时该号供应的做事出现故障请稍后再试

访客 2024-12-16 0

扫一扫用手机浏览

文章目录 [+]

微信公众年夜众号缺点

可能的缘故原由有:

php答复大众号技巧_微信号调试时该号供应的做事出现故障请稍后再试

一、php版本导致的

php答复大众号技巧_微信号调试时该号供应的做事出现故障请稍后再试
(图片来自网络侵删)

在开拓中,这也是一个大概率导致上述问题的存在,现在php的版本有很多,但是对付微信开拓程序来说,是有一定差异的,由于不同的版本,代码的书写也是不一样的。

一样平常我们在获取用户发来的信息的时候第一句都是:

$postStr = $GLOBALS["HTTP_RAW_POST_DATA"];

但是这句代码在php7及以上版本都可能获取不到值,导致"大众年夜众号的接口文件不能反馈信息,从而导致“该"大众号供应的做事涌现故障,请稍后再试”,你可以先把回答信息干系的代码都删除,单独留一个:

public function responseMsg(){ echo ''; }

然后在"大众号里面随便发一个信息,如果做事器没有返回缺点或者其他信息,那么就表示两种可能:

1、回答信息的代码缺点;

2、吸收用户信息的代码没有获取到值。

针对第二个你可以试试把:

$postStr = $GLOBALS["HTTP_RAW_POST_DATA"];

改成

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

二、微信"大众年夜众号接入了第三方授权

这一个问题你可以先关闭第三方授权,然后试试。

三、php代码缺点

这一条也是大概率导致“该"大众年夜众号供应的做事涌现故障,请稍后再试”的缘故原由所在,但是代码的缺点千变万化,不同的人犯的缺点均不一样,以是这里就不错列举了,这里供应一个精确的代码,共大家自行比对:

public function responseMsg() {

$postStr = $GLOBALS["HTTP_RAW_POST_DATA"];

if (!empty($postStr)){

$postObj = simplexml_load_string($postStr, 'SimpleXMLElement', LIBXML_NOCDATA);

$fromUsername = $postObj->FromUserName;

$toUsername = $postObj->ToUserName;

$keyword = trim($postObj->Content);

$time = time();

$textTpl = "<xml> <ToUserName><![CDATA[%s]]></ToUserName> <FromUserName><![CDATA[%s]]></FromUserName> <CreateTime>%s</CreateTime> <MsgType><![CDATA[%s]]></MsgType> <Content><![CDATA[%s]]></Content> <FuncFlag>0</FuncFlag> </xml>";

if(!empty( $keyword )) {

$msgType = "text";

$contentStr = "Welcome to wechat world!"; $resultStr = sprintf($textTpl, $fromUsername, $toUsername, $time, $msgType, $contentStr);

echo $resultStr;

}else{

echo "Input something...";

}

}else {

echo ""; exit;

}

}

标签:

相关文章