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分页函数
Jul 08 PHP
PHP sprintf() 函数的应用(定义和用法)
Jun 29 PHP
关于file_get_contents返回为空或函数不可用的解决方案
Jun 24 PHP
利用PHP实现短域名互转
Jul 05 PHP
浅谈php函数serialize()与unserialize()的使用方法
Aug 19 PHP
PHP提示Warning:phpinfo() has been disabled函数禁用的解决方法
Dec 17 PHP
PHP 双链表(SplDoublyLinkedList)简介和使用实例
May 12 PHP
php阳历转农历优化版
Aug 08 PHP
php+jQuery递归调用POST循环请求示例
Oct 14 PHP
PHP中register_shutdown_function函数的基础介绍与用法详解
Nov 28 PHP
PHP使用XMLWriter读写xml文件操作详解
Jul 31 PHP
Laravel 验证码认证学习记录小结
Dec 20 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生成静态html页面的原理
2016/09/30 PHP
javascript不同页面传值的改进版
2008/09/30 Javascript
jQuery 定时局部刷新(setInterval)
2010/11/19 Javascript
js 遍历对象的属性的代码
2011/12/29 Javascript
使用ImageMagick进行图片缩放、合成与裁剪(js+python)
2013/09/16 Javascript
JS格式化数字金额用逗号隔开保留两位小数
2013/10/18 Javascript
js正则表达exec与match的区别说明
2014/01/29 Javascript
分享10个原生JavaScript技巧
2015/04/20 Javascript
JS实现具备延时功能的滑动门菜单效果
2015/09/17 Javascript
Bootstrap精简教程
2015/11/27 Javascript
jQuery插件实现表格隔行变色及鼠标滑过高亮显示效果代码
2016/02/25 Javascript
一起学写js Calender日历控件
2016/04/14 Javascript
AngularJS实现的省市二级联动功能示例【可对选项实现增删】
2017/10/26 Javascript
vue click.stop阻止点击事件继续传播的方法
2018/09/04 Javascript
利用vue-i18n实现多语言切换效果的方法
2019/06/19 Javascript
vue发送websocket请求和http post请求的实例代码
2019/07/11 Javascript
通过实例了解Nodejs模块系统及require机制
2020/07/16 NodeJs
js实现QQ邮箱邮件拖拽删除功能
2020/08/27 Javascript
[17:13]DOTA2 HEROS教学视频教你分分钟做大人-斯拉克
2014/06/13 DOTA
python装饰器使用方法实例
2013/11/21 Python
Python3之简单搭建自带服务器的实例讲解
2018/06/04 Python
Python的UTC时间转换讲解
2019/02/26 Python
浅谈Python3中strip()、lstrip()、rstrip()用法详解
2019/04/29 Python
python实现Dijkstra算法的最短路径问题
2019/06/21 Python
Python中面向对象你应该知道的一下知识
2019/07/10 Python
如何通过python的fabric包完成代码上传部署
2019/07/29 Python
AmazeUI折叠式卡片布局,整合内容列表、表格组件实现
2020/08/20 HTML / CSS
阿姆斯特丹杜莎夫人蜡像馆官方网站:Madame Tussauds Amsterdam
2019/03/12 全球购物
英格兰足协官方商店:England Store
2019/07/12 全球购物
简历中求职的个人自我评价
2013/12/03 职场文书
《掌声》教学反思
2014/02/23 职场文书
计算机毕业大学生求职信
2014/06/26 职场文书
镇班子对照检查材料思想汇报
2014/09/24 职场文书
企业计划生育责任书
2015/05/09 职场文书
MySQL约束超详解
2021/09/04 MySQL
win10壁纸在哪个文件夹 win10桌面背景图片文件位置分享
2022/08/05 数码科技