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 采集程序中常用的函数
Dec 09 PHP
php获取从百度搜索进入网站的关键词的详细代码
Jan 08 PHP
PHP采用XML-RPC构造Web Service实例教程
Jul 16 PHP
1亿条数据如何分表100张到Mysql数据库中(PHP)
Jul 29 PHP
php fread读取文件注意事项
Sep 24 PHP
PHP中SQL查询语句的id=%d解释(推荐)
Dec 10 PHP
PHP微信模板消息操作示例
Jun 29 PHP
浅谈PHP中如何实现Hook机制
Nov 14 PHP
PHP正则验证字符串是否为数字的两种方法并附常用正则
Feb 27 PHP
laravel框架模型和数据库基础操作实例详解
Jan 25 PHP
TP5框架实现自定义分页样式的方法示例
Apr 05 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
PHP实现支持加盐的图片加密解密
2016/09/09 PHP
浅谈PHP中try{}catch{}的使用方法
2016/12/09 PHP
thinkphp5 模型实例化获得数据对象的教程
2019/10/18 PHP
javascript 常用代码技巧大收集
2009/02/25 Javascript
Javascript实现的类似Google的Div拖动效果代码
2011/08/09 Javascript
基于JQuery的模拟苹果桌面Dock效果(稳定版)
2012/10/15 Javascript
jquery select动态加载选择(兼容各种浏览器)
2013/02/01 Javascript
jquery点击页面任何区域实现鼠标焦点十字效果
2013/06/21 Javascript
JavaScript自定义方法实现trim()、Ltrim()、Rtrim()的功能
2013/11/03 Javascript
使用jQuery解决IE与FireFox下createElement方法的差异
2013/11/14 Javascript
使用JQuery快速实现Tab的AJAX动态载入(实例讲解)
2013/12/11 Javascript
为指定的元素添加遮罩层的示例代码
2014/01/15 Javascript
jQuery实现带遮罩层效果的blockUI弹出层示例【附demo源码下载】
2016/09/14 Javascript
微信小程序 Image API实例详解
2016/09/30 Javascript
基于JavaScript实现本地图片预览
2017/02/08 Javascript
jQuery日程管理控件glDatePicker用法详解
2017/03/29 jQuery
jQuery选择器之子元素选择器详解
2017/09/18 jQuery
Vue.js 实现微信公众号菜单编辑器功能(一)
2018/05/08 Javascript
使用JavaScript破解web
2018/09/28 Javascript
基于Koa(nodejs框架)对json文件进行增删改查的示例代码
2019/02/02 NodeJs
对layui中table组件工具栏的使用详解
2019/09/19 Javascript
详解Vue3中对VDOM的改进
2020/04/23 Javascript
Python中dictionary items()系列函数的用法实例
2014/08/21 Python
用python写的一个wordpress的采集程序
2016/02/27 Python
python利用正则表达式提取字符串
2016/12/08 Python
如何运行.ipynb文件的图文讲解
2019/06/27 Python
Python3基本输入与输出操作实例分析
2020/02/14 Python
python pandas.DataFrame.loc函数使用详解
2020/03/26 Python
你不知道的葡萄干处理法、橙蜜处理法、二氧化碳酵母法
2021/03/17 冲泡冲煮
意大利高端时尚买手店:Stefania Mode
2018/03/01 全球购物
漫威玩具服装及周边商品官方购物网站:Marvel Shop
2019/05/11 全球购物
幼儿园教师节演讲稿
2014/09/03 职场文书
个人剖析材料及整改措施
2014/10/07 职场文书
Redis主从配置和底层实现原理解析(实战记录)
2021/06/30 Redis
科学家研发出新型速效酶,可在 24 小时内降解塑料制品
2022/04/29 数码科技
MySQL 原理与优化之原数据锁的应用
2022/08/14 MySQL