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 相关文章推荐
第七节 类的静态成员 [7]
Oct 09 PHP
PHP警告Cannot use a scalar value as an array的解决方法
Jan 11 PHP
通过PHP修改Linux或Unix口令的方法分享
Jan 30 PHP
PHP面向对象的进阶学习(抽像类、接口、final、类常量)
May 07 PHP
PHP二维数组排序的3种方法和自定义函数分享
Apr 09 PHP
php中ltrim()、rtrim()与trim()删除字符空格实例
Nov 25 PHP
php遍历目录方法小结
Mar 10 PHP
解读PHP中的垃圾回收机制
Aug 10 PHP
关于PHP文件的自动运行方法分析
May 13 PHP
php实现带读写分离功能的MySQL类完整实例
Jul 28 PHP
PHP中使用CURL发送get/post请求上传图片批处理功能
Oct 15 PHP
php+lottery.js实现九宫格抽奖功能
Jul 21 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中opendir函数用法实例
2014/11/15 PHP
PHP中Session可能会引起并发问题
2015/06/26 PHP
php简单生成随机数的方法
2015/07/30 PHP
PHP使用preg_split()分割特殊字符(元字符等)的方法分析
2017/02/04 PHP
在IE下:float属性会影响offsetTop的取值
2006/12/22 Javascript
一个可以显示阴历的JS代码
2007/03/05 Javascript
用JavaScrpt实现文件夹简单轻松加密的实现方法图文
2008/09/08 Javascript
jQuery实现多级下拉菜单jDropMenu的方法
2015/08/28 Javascript
js实现浮动在网页右侧的简洁QQ在线客服代码
2015/09/04 Javascript
学习vue.js表单控件绑定操作
2016/12/05 Javascript
浅谈React组件之性能优化
2018/03/02 Javascript
js实现图片上传并预览功能
2018/08/06 Javascript
VUE动态生成word的实现
2020/07/26 Javascript
Ajax获取node服务器数据的完整步骤
2020/09/20 Javascript
vue通过接口直接下载java生成好的Excel表格案例
2020/10/26 Javascript
Python入门篇之正则表达式
2014/10/20 Python
简单介绍Python下自己编写web框架的一些要点
2015/04/29 Python
Python 字符串大小写转换的简单实例
2017/01/21 Python
Python 逐行分割大txt文件的方法
2017/10/10 Python
python中的字典操作及字典函数
2018/01/03 Python
python3实现基于用户的协同过滤
2018/05/31 Python
将pandas.dataframe的数据写入到文件中的方法
2018/12/07 Python
ActiveMQ:使用Python访问ActiveMQ的方法
2019/01/30 Python
python 爬取学信网登录页面的例子
2019/08/13 Python
Python + Flask 实现简单的验证码系统
2019/10/01 Python
Django和Flask框架优缺点对比
2019/10/24 Python
安装pyecharts1.8.0版本后导入pyecharts模块绘图时报错: “所有图表类型将在 v1.9.0 版本开始强制使用 ChartItem 进行数据项配置 ”的解决方法
2020/08/18 Python
ProBikeKit美国官网:自行车套件,跑步和铁人三项套件
2016/10/13 全球购物
FC-Moto丹麦:欧洲最大的摩托车服装和头盔商店之一
2019/08/20 全球购物
SheIn沙特阿拉伯:女装在线
2020/03/23 全球购物
学年自我鉴定范文
2013/10/01 职场文书
小区门卫工作职责
2013/12/14 职场文书
红领巾广播站广播稿
2014/10/19 职场文书
办公室务虚会发言材料
2014/10/20 职场文书
平凡的世界读书笔记
2015/06/25 职场文书
2019 入党申请书范文
2019/07/10 职场文书