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


Posted in PHP onNovember 12, 2017

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

×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验证不成功的原因及解决方法就是小编分享给大家的全部内容了,希望能给大家一个参考,也希望大家多多支持三水点靠木。

PHP 相关文章推荐
在PHP中读取和写入WORD文档的代码
Apr 09 PHP
PHP实现定时生成HTML网站首页实例代码
Nov 20 PHP
PHP操作XML作为数据库的类
Dec 19 PHP
phpMyAdmin出现无法载入 mcrypt 扩展,请检查PHP配置的解决方法
Mar 26 PHP
ThinkPHP3.1.3版本新特性概述
Jun 19 PHP
在Win7 中为php扩展配置Xcache
Oct 08 PHP
PHPExcel内存泄漏问题解决方法
Jan 23 PHP
PHP中的traits实现代码复用使用实例
May 13 PHP
Laravel下生成验证码的类
Nov 15 PHP
PHP实现从PostgreSQL数据库检索数据分页显示及根据条件查找数据示例
Jun 09 PHP
Laravel 将数据表的数据导出,并生成seeds种子文件的方法
Oct 09 PHP
laravel框架数据库配置及操作数据库示例
Oct 10 PHP
PHP 断点续传实例详解
Nov 11 #PHP
PHP+AJAX 投票器功能
Nov 11 #PHP
PHP实现双链表删除与插入节点的方法示例
Nov 11 #PHP
PHP实现基于栈的后缀表达式求值功能
Nov 10 #PHP
PHP实现基于图的深度优先遍历输出1,2,3...n的全排列功能
Nov 10 #PHP
PHP根据树的前序遍历和中序遍历构造树并输出后序遍历的方法
Nov 10 #PHP
PHP用函数嵌入网站访问量计数器
Oct 27 #PHP
You might like
PHP4实际应用经验篇(5)
2006/10/09 PHP
PHP字符转义相关函数小结(php下的转义字符串)
2007/04/12 PHP
php 伪造本地文件包含漏洞的代码
2011/11/03 PHP
php实现模拟登陆方正教务系统抓取课表
2015/05/19 PHP
jQuery.extend()的实现方式详解及实例
2013/06/29 Javascript
JavaScript:new 一个函数和直接调用函数的区别分析
2013/07/10 Javascript
通过url查找a元素应用案例
2014/04/29 Javascript
解决jquery版本冲突的有效方法
2014/09/02 Javascript
AngularJs动态加载模块和依赖注入详解
2016/01/11 Javascript
Node.js的Web模板引擎ejs的入门使用教程
2016/06/06 Javascript
基于JavaScript代码实现自动生成表格
2016/06/15 Javascript
AngularJS实现数据列表的增加、删除和上移下移等功能实例
2016/09/05 Javascript
bootstrap vue.js实现tab效果
2017/02/07 Javascript
vue实现简单表格组件实例详解
2017/04/16 Javascript
微信小程序实现根据字母选择城市功能
2017/08/16 Javascript
Vue 动态设置路由参数的案例分析
2018/04/24 Javascript
json数据传到前台并解析展示成列表的方法
2018/08/06 Javascript
JavaScript实现构造json数组的方法分析
2018/08/17 Javascript
vue3.0 CLI - 2.3 - 组件 home.vue 中学习指令和绑定
2018/09/14 Javascript
基于redis的小程序登录实现方法流程分析
2020/05/25 Javascript
[03:22]DSPL第一期精彩集锦:酷炫到底!
2014/11/07 DOTA
python监控文件并且发送告警邮件
2018/06/21 Python
Pandas DataFrame数据的更改、插入新增的列和行的方法
2019/06/25 Python
TensorFLow 变量命名空间实例
2020/02/11 Python
Python基于codecs模块实现文件读写案例解析
2020/05/11 Python
selenium判断元素是否存在的两种方法小结
2020/12/07 Python
使用numpngw和matplotlib生成png动画的示例代码
2021/01/24 Python
仓库管理计划书
2014/05/04 职场文书
小学竞选班长演讲稿
2014/09/09 职场文书
法人代表授权委托书范文
2014/09/10 职场文书
2014年银行年终工作总结
2014/12/19 职场文书
党支部创先争优公开承诺书
2015/04/30 职场文书
法定代表人资格证明书
2015/06/18 职场文书
受欢迎的自荐信,就这么写!
2019/04/19 职场文书
浅谈Redis的keys命令到底有多慢
2021/10/05 Redis
MySQL提取JSON字段数据实现查询
2022/04/22 MySQL