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初学者们头痛的十四个问题
Jan 15 PHP
自动生成文章摘要的代码[PHP 版本]
Mar 20 PHP
解析PHP中empty is_null和isset的测试
Jun 29 PHP
php导出word格式数据的代码实例
Nov 25 PHP
php查找任何页面上的所有链接的方法
Dec 03 PHP
Yii2使用小技巧之通过 Composer 添加 FontAwesome 字体资源
Jun 22 PHP
判断、添加和删除WordPress置顶文章的相关PHP函数小结
Dec 10 PHP
Zend Framework教程之请求对象的封装Zend_Controller_Request实例详解
Mar 07 PHP
php短信接口代码
May 13 PHP
Yii框架ACF(accessController)简单权限控制操作示例
Apr 26 PHP
php中对象引用和复制实例分析
Aug 14 PHP
Laravel开启跨域请求的方法
Oct 13 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本地服务器分享
2013/02/19 PHP
php中将html中的br换行符转换为文本输入中的换行符
2013/03/26 PHP
Laravel 5.5 的自定义验证对象/类示例代码详解
2017/08/29 PHP
PHP使用openssl扩展实现加解密方法示例
2020/02/20 PHP
PHP 命名空间和自动加载原理与用法实例分析
2020/04/29 PHP
jQuery 事件队列调整方法
2009/09/18 Javascript
javascript 日期常用的方法
2009/11/11 Javascript
jquery判断checkbox(复选框)是否被选中的代码
2010/10/20 Javascript
一个关于javascript匿名函数的问题分析
2012/03/30 Javascript
js实现单一html页面两套css切换代码
2013/04/11 Javascript
javaScript中的this示例学习详解及工作原理
2014/01/13 Javascript
JavaScript电子时钟倒计时
2016/01/09 Javascript
详解Javascript数据类型的转换规则
2016/12/12 Javascript
javascript 作用于作用域链的详解
2017/09/27 Javascript
Node层模拟实现multipart表单的文件上传示例
2018/01/02 Javascript
详解vue项目打包后通过百度的BAE发布到网上的流程
2018/03/05 Javascript
AngularJS下$http服务Post方法传递json参数的实例
2018/03/29 Javascript
详解Java中String JSONObject JSONArray List转换
2020/11/13 Javascript
[01:59]游戏“zheng”当时试玩会
2019/08/21 DOTA
Python列表(list)、字典(dict)、字符串(string)基本操作小结
2014/11/28 Python
Python实现将目录中TXT合并成一个大TXT文件的方法
2015/07/15 Python
在Python的Flask框架中构建Web表单的教程
2016/06/04 Python
Python基础中所出现的异常报错总结
2016/11/19 Python
Python字符串格式化的方法(两种)
2017/09/19 Python
Python_LDA实现方法详解
2017/10/25 Python
Python读写及备份oracle数据库操作示例
2018/05/17 Python
简单了解python 生成器 列表推导式 生成器表达式
2019/08/22 Python
比利时网上药店: Drogisterij.net
2017/03/17 全球购物
印度尼西亚最好的小工具在线商店:Erafone.com
2019/03/26 全球购物
德国家具购物网站:Möbel Höffner
2019/08/26 全球购物
大学生入党自我鉴定
2013/10/31 职场文书
新闻记者个人求职的自我评价
2013/11/28 职场文书
行政办公员自我评价分享
2013/12/14 职场文书
应用化学专业职业生涯规划书
2013/12/31 职场文书
房地产促销活动方案
2014/03/01 职场文书
安康杯竞赛活动总结
2014/05/05 职场文书