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 相关文章推荐
用Apache反向代理设置对外的WWW和文件服务器
Oct 09 PHP
PHP 面向对象 PHP5 中的常量
May 05 PHP
Php图像处理类代码分享
Jan 19 PHP
深入理解PHP之数组(遍历顺序)  Laruence原创
Jun 13 PHP
PHP中time(),date(),mktime()区别介绍
Sep 28 PHP
PHP mail()函数使用及配置方法
Jan 14 PHP
yii框架表单模型使用及以数组形式提交表单数据示例
Apr 30 PHP
kohana框架上传文件验证规则写法示例
Jul 14 PHP
四种php中webservice实现的简单架构方法及实例
Feb 03 PHP
php获取、检查类名、函数名、方法名的函数方法
Jun 25 PHP
php简单创建zip压缩文件的方法
Apr 30 PHP
PHP有序表查找之插值查找算法示例
Feb 10 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实现微信公众平台音乐点播
2014/03/20 PHP
PHP清除字符串中所有无用标签的方法
2014/12/01 PHP
PHP-FPM之Chroot执行环境详解
2015/08/03 PHP
php之可变变量的实例详解
2017/09/12 PHP
Laravel框架自定义分页样式操作示例
2020/01/26 PHP
动态加载js文件 document.createElement
2006/10/14 Javascript
javascript基础第一章 JavaScript与用户端
2010/07/22 Javascript
Bootstrap自动适应PC、平板、手机的Bootstrap栅格系统
2016/05/27 Javascript
Angular 应用技巧总结
2016/09/14 Javascript
jQuery日程管理插件fullcalendar使用详解
2017/01/07 Javascript
Js apply方法详解
2017/02/16 Javascript
vue的事件绑定与方法详解
2017/08/16 Javascript
vue2.0 + element UI 中 el-table 数据导出Excel的方法
2018/03/02 Javascript
Vue的路由动态重定向和导航守卫实例
2018/03/17 Javascript
基于JavaScript实现一个简单的Vue
2018/09/26 Javascript
webpack优化的深入理解
2018/12/10 Javascript
vue使用prop可以渲染但是打印台报错的解决方式
2019/11/13 Javascript
vue学习之Vue-Router用法实例分析
2020/01/06 Javascript
jQuery 隐藏/显示效果函数用法实例分析
2020/05/20 jQuery
微信小程序单选框自定义赋值
2020/05/26 Javascript
详解webpack的文件监听实现(热更新)
2020/09/11 Javascript
[02:39]DOTA2国际邀请赛助威团西雅图第一天
2013/08/08 DOTA
Python 深入理解yield
2008/09/06 Python
python概率计算器实例分析
2015/03/25 Python
Python如何使用k-means方法将列表中相似的句子归类
2019/08/08 Python
是否可以从一个static方法内部发出对非static方法的调用?
2014/08/18 面试题
2014学校庆三八妇女节活动总结
2014/03/01 职场文书
激励口号大全
2014/06/17 职场文书
五五普法心得体会
2014/09/04 职场文书
警察正风肃纪剖析材料
2014/10/16 职场文书
2015年保送生自荐信
2015/03/24 职场文书
2016年感恩教师节校园广播稿
2015/12/18 职场文书
2016入党培训心得体会范文
2016/01/08 职场文书
2016年学校招生广告语
2016/01/28 职场文书
晶体管来复再生式二管收音机
2021/04/22 无线电
十大最强奥特曼武器:怪兽战斗仪在榜,第五奥特之父只使用过一次
2022/03/18 日漫