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支持页面回退的两种方法[转]
Feb 14 PHP
php去掉字符串的最后一个字符附substr()的用法
Mar 23 PHP
MySQL连接数超过限制的解决方法
Jul 17 PHP
PHP原生模板引擎 最简单的模板引擎
Apr 25 PHP
php cookie使用方法学习笔记分享
Nov 07 PHP
PHP实现的一致性哈希算法完整实例
Nov 14 PHP
yii实现model添加默认值的方法(2种方法)
Jan 06 PHP
PHP将身份证正反面两张照片合成一张图片的代码
Apr 08 PHP
PHP基于swoole多进程操作示例
Aug 12 PHP
php5与php7的区别点总结
Oct 11 PHP
laravel 修改记住我功能的cookie保存时间的方法
Oct 14 PHP
Laravel6.18.19如何优雅的切换发件账户
Jun 14 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
php str_pad 函数用法简介
2009/07/11 PHP
基于php缓存的详解
2013/05/15 PHP
php的sprintf函数的用法 控制浮点数格式
2014/02/14 PHP
PHP 之 写时复制介绍(Copy On Write)
2014/05/13 PHP
CI(CodeIgniter)框架配置
2014/06/10 PHP
php实现把url转换迅雷thunder资源下载地址的方法
2014/11/07 PHP
CI框架(ajax分页,全选,反选,不选,批量删除)完整代码详解
2016/11/01 PHP
Javascript & DHTML 实例编程(教程)(三)初级实例篇1—上传文件控件实例
2007/06/02 Javascript
基于jQuery的弹出警告对话框美化插件(警告,确认和提示)
2010/06/10 Javascript
自己动手手写jQuery插件总结
2015/01/20 Javascript
JavaScript数组Array对象增加和删除元素方法总结
2015/01/20 Javascript
Javascript设计模式之观察者模式的多个实现版本实例
2015/03/03 Javascript
JavaScript数组随机排列实现随机洗牌功能
2015/03/19 Javascript
CSS图片响应式 垂直水平居中
2015/08/14 Javascript
Google 地图事件实例讲解
2016/08/06 Javascript
解决AngualrJS页面刷新导致异常显示问题
2017/04/20 Javascript
微信小程序动画(Animation)的实现及执行步骤
2018/10/28 Javascript
详解nuxt路由鉴权(express模板)
2018/11/21 Javascript
浅谈layui使用模板引擎动态渲染元素要注意的问题
2019/09/14 Javascript
关于angular浏览器兼容性问题的解决方案
2020/07/26 Javascript
[01:20]DOTA2更新全新英雄 天涯墨客现已加入游戏
2018/08/25 DOTA
使用Python操作Elasticsearch数据索引的教程
2015/04/08 Python
详解python之配置日志的几种方式
2017/05/22 Python
python读取txt文件,去掉空格计算每行长度的方法
2018/12/20 Python
Python实现账号密码输错三次即锁定功能简单示例
2019/03/29 Python
python3+PyQt5 实现Rich文本的行编辑方法
2019/06/17 Python
Pandas中resample方法详解
2019/07/02 Python
Python GUI库PyQt5图形和特效样式QSS介绍
2020/02/25 Python
Django多数据库联用实现方法解析
2020/11/12 Python
php优化查询foreach代码实例讲解
2021/03/24 PHP
创业计划书的写作技巧及要点
2014/01/31 职场文书
大学生自我鉴定书
2014/03/24 职场文书
幼儿园感谢信
2015/01/21 职场文书
小学少先队工作总结2015
2015/05/26 职场文书
2016年党员学习廉政准则心得体会
2016/01/20 职场文书
Nginx内网单机反向代理的实现
2021/11/07 Servers