起因
以前好好的微信对接,最近突然就无法绑定公众号了,提示请求url超时,查看了网站代码进行了各种测试,都没有问题,直接访问微信验证时的地址,用chrome查看响应时间是46ms,但微信一直提示超时。
网上查了资料说把数据库链接改为127.0.0.1结果,呵呵,无效。
最终把微信验证放在程序最前面,终于通过了。猜测可能是微信的相应时间应该再10ms以内。
解决方案
将微信的验证代码,放在所有代码段之前,如果你的框架载入了过多的程序,那么请将微信的验证代码放在入口文件的最上面,如果你觉得麻烦就复制下面的代码,注意修改一下$token变量,要是你自己的token
<?php
//token根据自己程序接收,
$token = $_GET['token'];
//get接收微信传递过来的参数
$signature = $_GET["signature"];
$timestamp = $_GET["timestamp"];
$nonce = $_GET["nonce"];
$tmpArr = array($token, $timestamp, $nonce);
// use SORT_STRING rule
sort($tmpArr, SORT_STRING);
$tmpStr = implode( $tmpArr );
$tmpStr = sha1( $tmpStr );
if( $tmpStr == $signature && isset($_GET["echostr"])){
echo $_GET["echostr"];
exit;
}
/**
* 你自己的代码
*/
本文介绍了解决微信公众号绑定过程中出现的URL请求超时问题。通过调整代码执行顺序,将验证逻辑前置,成功解决了超时错误。此方案适用于那些因为程序加载过慢而导致的微信验证失败的情况。

6481

被折叠的 条评论
为什么被折叠?



