起因
以前好好的微信对接,最近突然就无法绑定公众号了,提示请求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;
}
/**
* 你自己的代码
*/