Thinkphp5 微信公众号token验证不成功的原因及解决方法

最近要启动微信项目,上个月就开始了解微信的开发,这个月要启动项目,配置微信公众号信息一直失败。为此,我甚至手工写了微信提交过来的记录,如:

×tamp=1510210523&nonce=2414550015&signature=30b9eeb6b1134d0a53623375c48ca734c41facb5&echostr=6863786913073725439

我眼睛看着验证信息没错,输出的echostr跟get提交来的一模一样,但是还是会出错。忍无可忍,一直无法搞定。

自己做开发也算基本上路了,还在这种坑吃亏,有点不服,最后查看日志,一点点搞定。

以下是我解决问题的办法:

1.网上有人说是header要设置utf-8,我也设置了,不行;

2.有人说可能是没有日志写入权限,导致信息能正常,但是页面代码不正常,打开console,发现,网页头显示500,麻蛋,这是服务器错误啊。

估计是腾讯一旦判断到你的500代码,就不继续了。

最后检查,发现是自己的服务器日志目录权限不足,无法写入日志!

就是这个原因,导致我浪费很多小时。

最后,我把验证微信公众号的token分享给各位兄弟,希望大家不要踩坑。

rush:xhtml;"> $token='请填写你的公众号token';

$timestamp = $_GET[‘timestamp'];
$nonce = $_GET[‘nonce'];
$signature = $_GET[‘signature'];
$array = array($timestamp,$nonce,$token);
sort($array);

//2.将排序后的三个参数拼接后用sha1加密
$tmpstr = implode(”,$array);
$tmpstr = sha1($tmpstr);

//3. 将加密后的字符串与 signature 进行对比,判断该请求是否来自微信
if($tmpstr == $signature)
{
echo $_GET[‘echostr'];
}
return false;

另外,提醒各位兄弟,配置信息再微信测试号配置会好些,即便错了也不用每次都扫描二维码,累死人。

微信测试号地址:https://mp.weixin.qq.com/debug/cgi-bin/sandBox?t=sandBox/login

以上这篇ThinkPHP5 微信公众号token验证不成功的原因及解决方法就是小编分享给大家的全部内容了,希望能给大家一个参考,也希望大家多多支持编程之家。

版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。

相关推荐


接入微信号对接步骤 第一步:后台添加产品->配置微信号->获取代码 第二步:复制代码加到页面</head>前面
逐条转发与合并转发的区别是什么
实现微信发布文章信息采集
微信公众号-获取用户信息(网页授权获取)实现步骤
php微信公众号开发(2)百度BAE搭建和数据库使用
java开发微信分享到朋友圈功能
php微信公众号开发(3)php实现简单微信文本通讯
C#微信公众号开发--微信事件交互
js微信分享API
PHP微信分享开发详解
C#微信公众号开发--网页授权(oauth2.0)获取用户基本信息一
C# 微信公众号开发--准备工作
php版微信小店调用api示例代码
php微信公众号开发(4)php实现自定义关键字回复
微信小程序 教程之小程序配置
iOS实现类似微信和支付宝的密码输入框(UIKeyInput协议)
C#微信公众号开发--网页授权(oauth2.0)获取用户基本信息二
php版微信小店API二次开发及使用示例
PHP微信刮刮卡
微信开发学习路线