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面向接口编程 耦合设计模式 简单范例
Mar 23 PHP
php中对2个数组相加的函数
Jun 24 PHP
PHP 登录记住密码实现思路
May 07 PHP
使用Linux五年积累的一些经验技巧
Jun 20 PHP
php另类上传图片的方法(PHP用Socket上传图片)
Oct 30 PHP
ZF框架实现发送邮件的方法
Dec 03 PHP
php使用crypt()函数进行加密
Jun 08 PHP
PHP回调函数概念与用法实例分析
Nov 03 PHP
php strftime函数的详细用法
Jun 21 PHP
PHP与以太坊交互详解
Aug 24 PHP
不常用但很实用的PHP预定义变量分析
Jun 25 PHP
PHP封装请求类实例分析【基于Yii框架】
Oct 17 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 5.0对象模型深度探索之属性和方法
2008/03/27 PHP
PHP使用正则表达式获取微博中的话题和对象名
2015/07/18 PHP
Yii2前后台分离及migrate使用(七)
2016/05/04 PHP
php parse_str() 函数的定义和用法
2016/05/23 PHP
ajax调用返回php接口返回json数据的方法(必看篇)
2017/05/05 PHP
PHP的微信支付接口使用方法讲解
2019/03/08 PHP
thinkphp框架实现路由重定义简化url访问地址的方法分析
2020/04/04 PHP
详解new function(){}和function(){}() 区别分析
2008/03/22 Javascript
document.execCommand()的用法小结
2014/01/08 Javascript
JS记录用户登录次数实现代码
2014/01/15 Javascript
让input框实现类似百度的搜索提示(基于jquery事件监听)
2014/01/31 Javascript
Javascript基础教程之JavaScript语法
2015/01/18 Javascript
jquery带有索引按钮且自动轮播切换特效代码分享
2015/09/15 Javascript
javascript跑马灯抽奖实例讲解
2020/04/17 Javascript
JavaScript学习笔记之数组随机排序
2016/03/23 Javascript
jQuery实现为LI列表前3行设置样式的方法【2种方法】
2016/09/04 Javascript
深入理解JavaScript中的并行处理
2016/09/22 Javascript
Node.js 使用request模块下载文件的实例
2018/09/05 Javascript
Vue实现 点击显示再点击隐藏效果(点击页面空白区域也隐藏效果)
2020/01/16 Javascript
[55:03]LGD vs EG 2018国际邀请赛小组赛BO2 第二场 8.17
2018/08/18 DOTA
[55:44]完美世界DOTA2联赛决赛 FTD vs Phoenix 第二场 11.08
2020/11/11 DOTA
python中偏函数partial用法实例分析
2015/07/08 Python
Python爬虫实现爬取百度百科词条功能实例
2019/04/05 Python
python地震数据可视化详解
2019/06/18 Python
Python+Pyqt实现简单GUI电子时钟
2021/02/22 Python
Python collections.defaultdict模块用法详解
2020/06/18 Python
css3 column实现卡片瀑布流布局的示例代码
2018/06/22 HTML / CSS
趣天网日本站:Qoo10 JP
2019/09/18 全球购物
欧洲最大的预定车位市场:JustPark
2020/01/06 全球购物
行政总经理岗位职责
2013/12/05 职场文书
大学计划书范文800字
2014/08/14 职场文书
授权委托书(法人单位用)
2014/09/29 职场文书
教师工作表现评语
2014/12/31 职场文书
2015财务年度工作总结范文
2015/05/04 职场文书
2015年乡镇残联工作总结
2015/05/13 职场文书
Sleuth+logback 设置traceid 及自定义信息方式
2021/07/26 Java/Android