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输出控制功能在简繁体转换中的应用
Oct 09 PHP
PHP聊天室技术
Oct 09 PHP
PHP获得用户使用的代理服务器ip即真实ip
Dec 31 PHP
如何隐藏你的.php文件
Jan 04 PHP
php中强制下载文件的代码(解决了IE下中文文件名乱码问题)
May 09 PHP
Php header()函数语法及使用代码
Nov 04 PHP
CodeIgniter中实现泛域名解析
Jul 19 PHP
PHP清除字符串中所有无用标签的方法
Dec 01 PHP
详解php比较操作符的安全问题
Dec 03 PHP
PHP获取页面执行时间的方法(推荐)
Dec 10 PHP
PHP基于正则批量替换Img中src内容实现获取缩略图的功能示例
Jun 07 PHP
PHP使用gearman进行异步的邮件或短信发送操作详解
Feb 27 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 在文件指定行插入数据的代码
2010/05/08 PHP
通过缓存数据库结果提高PHP性能的原理介绍
2012/09/05 PHP
使用PHP静态变量当缓存的方法
2013/11/13 PHP
Ubuntu中启用php的mail()函数并解决发送邮件速度慢问题
2015/03/27 PHP
php的instanceof和判断闭包Closure操作示例
2020/01/26 PHP
jquery实现的元素的left增加N像素 鼠标移开会慢慢的移动到原来的位置
2010/03/21 Javascript
jQuery探测位置的提示弹窗(toolTip box)详细解析
2013/11/14 Javascript
jQuery插件PageSlide实现左右侧栏导航菜单
2015/04/12 Javascript
jquery不常用方法汇总
2015/07/26 Javascript
倾力总结40条常见的移动端Web页面问题解决方案
2016/05/24 Javascript
jQuery阻止移动端遮罩层后页面滚动
2017/03/15 Javascript
在vue中实现点击选择框阻止弹出层消失的方法
2018/09/15 Javascript
Vue 设置axios请求格式为form-data的操作步骤
2019/10/29 Javascript
vue 组件开发原理与实现方法详解
2019/11/29 Javascript
原生js实现表格翻页和跳转
2020/09/29 Javascript
通过Python实现自动填写调查问卷
2017/09/06 Python
在dataframe两列日期相减并且得到具体的月数实例
2018/07/03 Python
Django 数据库同步操作技巧详解
2019/07/19 Python
python3+django2开发一个简单的人员管理系统过程详解
2019/07/23 Python
python 字符串的驻留机制及优缺点
2020/06/19 Python
Python下使用Trackbar实现绘图板
2020/10/27 Python
python 实现ping测试延迟的两种方法
2020/12/10 Python
从一次项目重构说起CSS3自定义变量在项目的使用方法
2021/03/01 HTML / CSS
德国鞋子网上商店:Omoda.de
2017/03/31 全球购物
教师自荐信
2013/12/10 职场文书
宿舍卫生检讨书
2014/01/16 职场文书
离婚协议书范本样本
2014/08/19 职场文书
总经理助理岗位职责范本
2015/03/31 职场文书
催款律师函范文
2015/05/27 职场文书
党小组意见范文
2015/06/08 职场文书
2016年小学“公民道德宣传日”活动总结
2016/04/01 职场文书
2019暑假学生安全口号
2019/06/27 职场文书
Python爬虫之自动爬取某车之家各车销售数据
2021/06/02 Python
在Python中如何使用yield
2021/06/07 Python
mysql分表之后如何平滑上线详解
2021/11/01 MySQL
利用JavaScript写一个简单计算器
2021/11/27 Javascript