Thinkphp5 微信公众号token验证不成功的原因及解决方法
2017-11-12 09:11
916 查看
最近要启动微信项目,上个月就开始了解微信的开发,这个月要启动项目,配置微信公众号信息一直失败。为此,我甚至手工写了微信提交过来的记录,如:
×tamp=1510210523&nonce=2414550015&signature=30b9eeb6b1134d0a53623375c48ca734c41facb5&echostr=6863786913073725439
我眼睛看着验证信息没错,输出的echostr跟get提交来的一模一样,但是还是会出错。忍无可忍,一直无法搞定。
自己做开发也算基本上路了,还在这种坑吃亏,有点不服,最后查看日志,一点点搞定。
以下是我解决问题的办法:
1.网上有人说是header要设置utf-8,我也设置了,不行;
2.有人说可能是没有日志写入权限,导致信息能正常,但是页面代码不正常,打开console,发现,网页头显示500,麻蛋,这是服务器错误啊。
估计是腾讯一旦判断到你的500代码,就不继续了。
最后检查,发现是自己的服务器日志目录权限不足,无法写入日志!
就是这个原因,导致我浪费很多小时。
最后,我把验证微信公众号的token分享给各位兄弟,希望大家不要踩坑。
$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验证不成功的原因及解决方法就是小编分享给大家的全部内容了,希望能给大家一个参考,也希望大家多多支持脚本之家。
您可能感兴趣的文章:
相关文章推荐
- Thinkphp5 微信公众号token验证不成功的原因
- Thinkphp5 微信公众号token验证不成功的原因
- vs2008 安装mvc2.0 后 加载不成功的原因及解决方法
- thinkphp框架将一个方法解析成.html文件的原因以及解决的方法
- 表单提交时要点击两次按钮(Validform验证)才能成功的解决方法
- nginx 下 thinkphp 502 bad Gateway + "LNMP一键安装包的Nginx 502 Bad Gateway错误可能原因及解决方法"
- 微信分享不成功原因与解决方法
- 安装Sql Server 2008,遇到的无权限创建数据库、修改身份验证模式等问题的原因及解决方法
- 解决oracle12c安装报“[INS-30131]执行安装程序验证所需的初始设置失败(原因:无法访问临时位置)”方法
- Thinkphp 3.0 模板重复输出的原因及解决方法
- 解决oracle12c安装报“[INS-30131]执行安装程序验证所需的初始设置失败(原因:无法访问临时位置)”方法
- thinkphp3.2.3中Class '?' not found的原因以及解决方法
- 用浏览器测试Get与Post Webservice,Post一直报405错误,而Get能够成功的原因与解决方法
- thinkPHP显示不出验证码的原因与解决方法分析
- Linux升级内核虽然我按照上面的方法没有成功,原因是镜像地址下载太慢导致的,后续知道怎么解决后在评论中给出方案
- jQuery validate插件,自动验证无效的原因及解决方法归纳
- thinkphp 自动完成在自动验证unique时失效的解决方法
- Google WebMaster网站验证错误(404返回成功)解决方法
- ThinkPHP自动验证失败的解决方法