您的位置:首页 > 移动开发 > 微信开发

微信开发token验证失败的解决

2018-01-05 13:35 603 查看
之前在服务器上成功部署并验证已通过,后开换了一个服务器地址就始终不能通过token验证,尝试了网上的很多办法,包括在
echo $echoStr;前面加上ob_clean();清空缓存等等。现在终于定位到原因,原来是在类class wechatCallbackapiTest中我写了构造函数,并将一些数据库初始化的代码放在了里面,注释掉这些代码就能获得验证通过。具体原因可能是在数据库初始化的过程中耗时较多,造成token验证中的时间戳对应不上,造成了token无法通过。现在改写了我的构造函数,根据收到的消息传一个参数给构造函数,选择性地进行数据库操作,这样问题就解决了。如下:

define("TOKEN", "wechat");
$wechatObj = new wechatCallbackapiTest(!isset($_GET['echostr']));
class wechatCallbackapiTest

{
public function __construct($IsInitMysql = '')
{
//如果做太多处理会导致校验失败。可能是因为耗时导致时间戳对不上了
if($IsInitMysql)
{
$this->LetcoreMysql = new LetcoreMysql();
希望对在token验证上困扰的同学有帮助,如果有更好的办法请指教
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息