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中函数内引用全局变量的方法
Oct 20 PHP
PHP XML操作的各种方法解析(比较详细)
Jun 17 PHP
超级好用的一个php上传图片类(随机名,缩略图,加水印)
Jun 30 PHP
PHP分页函数代码(简单实用型)
Dec 02 PHP
让codeigniter与swfupload整合的最佳解决方案
Jun 12 PHP
PHP网页游戏学习之Xnova(ogame)源码解读(五)
Jun 23 PHP
php内嵌函数用法实例
Mar 20 PHP
php轻松实现文件上传功能
Mar 03 PHP
基于PHP微信红包的算法探讨
Jul 21 PHP
laravel 解决多库下的DB::transaction()事务失效问题
Oct 21 PHP
php ActiveMQ的安装与使用方法图文教程
Feb 23 PHP
通过PHP实现获取访问用户IP
May 09 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简单实现循环链表功能示例
Nov 10 #PHP
You might like
日本收入最高的漫画家:海贼王作者版税年收入高达8.45亿元
2020/03/04 日漫
PHP入门
2006/10/09 PHP
PHP高级编程实例:编写守护进程
2014/09/02 PHP
Laravel 5框架学习之Eloquent 关系
2015/04/09 PHP
解决ThinkPHP关闭调试模式时报错的问题汇总
2015/04/22 PHP
Yii基于数组和对象的Model查询技巧实例详解
2015/12/28 PHP
PHP递归删除多维数组中的某个值
2017/04/17 PHP
php操作redis命令及代码实例大全
2020/11/19 PHP
ASP.NET jQuery 实例15 通过控件CustomValidator验证CheckBoxList
2012/02/03 Javascript
jquery表单验证使用插件formValidator
2012/11/10 Javascript
js绑定事件this指向发生改变的问题解决方法
2013/04/23 Javascript
js实现从右向左缓缓浮出网页浮动层广告的方法
2015/05/09 Javascript
JavaScript提高网站性能优化的建议(二)
2016/07/24 Javascript
Web打印解决方案之普通报表打印功能
2016/08/29 Javascript
Vue.js每天必学之过滤器与自定义过滤器
2016/09/07 Javascript
深入理解AngularJS中的ng-bind-html指令
2017/03/27 Javascript
vue实现的网易云音乐在线播放和下载功能案例
2019/02/18 Javascript
详解jQuery-each()方法
2019/03/13 jQuery
mpvue性能优化实战技巧(小结)
2019/04/17 Javascript
微信小程序基于ColorUI构建皮皮虾短视频去水印组件
2020/11/04 Javascript
Python基于Tkinter实现的记事本实例
2015/06/17 Python
python模仿网页版微信发送消息功能
2018/02/24 Python
Opencv+Python 色彩通道拆分及合并的示例
2018/12/08 Python
python开发之anaconda以及win7下安装gensim的方法
2019/07/05 Python
PyCharm 2020.2.2 x64 下载并安装的详细教程
2020/10/15 Python
html5时钟实现代码
2010/10/22 HTML / CSS
Canal官网:巴西女性时尚品牌
2019/10/16 全球购物
高中英语教学反思
2014/02/04 职场文书
春节联欢晚会主持词
2014/03/24 职场文书
班级学雷锋活动总结
2014/06/26 职场文书
新闻编辑专业自荐信
2014/07/02 职场文书
幼儿教师师德师风自我剖析材料
2014/09/29 职场文书
委托函范文
2015/01/29 职场文书
2015大一新生军训感言
2015/08/01 职场文书
nginx作grpc的反向代理踩坑总结
2021/07/07 Servers
Redis 中使用 list,streams,pub/sub 几种方式实现消息队列的问题
2022/03/16 Redis