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 19 PHP
PHP 反射机制实现动态代理的代码
Oct 22 PHP
如何用php获取文件名后缀
Jun 09 PHP
php利用事务处理转账问题
Apr 22 PHP
利用PHP如何实现Socket服务器
Sep 23 PHP
php抓取网站图片并保存的实现方法
Oct 29 PHP
深入浅析yii2-gii自定义模板的方法
Apr 26 PHP
php实现在站点里面添加邮件发送的功能
Apr 28 PHP
Yii调试查看执行SQL语句的方法
Jul 15 PHP
让whoops帮我们告别ThinkPHP6的异常页面
Mar 02 PHP
php设计模式之策略模式实例分析【星际争霸游戏案例】
Mar 26 PHP
PHP实现Snowflake生成分布式唯一ID的方法示例
Aug 30 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简单实现循环链表功能示例
Nov 10 #PHP
You might like
mysql建立外键
2006/11/25 PHP
PHP 5.3 下载时 VC9、VC6、Thread Safe、Non Thread Safe的区别分析
2011/03/28 PHP
yii框架中的Url生产问题小结
2012/01/16 PHP
PHP编程实现阳历转换为阴历的方法实例
2017/08/08 PHP
关于php unset对json_encode的影响详解
2018/11/14 PHP
用javascript实现的图片马赛克后显示并切换加文字功能
2007/04/21 Javascript
js调用webservice中的方法实现思路及代码
2013/02/25 Javascript
解决javascript:window.close()在chrome,Firefox下失效的问题
2013/05/07 Javascript
超赞的动手创建JavaScript框架的详细教程
2015/06/30 Javascript
18个非常棒的jQuery代码片段
2015/11/02 Javascript
Angular使用cli生成自定义文件、组件的方法
2018/09/04 Javascript
使用Sonarqube扫描Javascript代码的示例
2018/12/26 Javascript
vue使用video.js进行视频播放功能
2019/07/18 Javascript
小程序调用微信支付的方法
2019/09/26 Javascript
vscode+gulp轻松开发小程序的完整步骤
2020/10/18 Javascript
微信小程序 接入腾讯地图的两种写法
2021/01/12 Javascript
Python遍历文件夹和读写文件的实现代码
2016/08/28 Python
Python+tkinter模拟“记住我”自动登录实例代码
2018/01/16 Python
Python贪心算法实例小结
2018/04/22 Python
Python numpy实现二维数组和一维数组拼接的方法
2018/06/05 Python
Python3爬楼梯算法示例
2019/03/04 Python
python实现的分层随机抽样案例
2020/02/25 Python
pycharm的python_stubs问题
2020/04/08 Python
解决jupyter notebook 前面书写后面内容消失的问题
2020/04/13 Python
解决Jupyter无法导入已安装的 module问题
2020/04/17 Python
全球独特生活方式产品和礼品购物网站:AHAlife
2018/09/18 全球购物
YSL圣罗兰美妆英国官网:Yves Saint Laurent Beauty UK
2019/08/03 全球购物
领导检查欢迎词
2014/01/14 职场文书
母亲节演讲稿
2014/05/27 职场文书
企业精神口号
2014/06/11 职场文书
国庆65周年演讲稿:回首往昔,展望未来
2014/09/21 职场文书
考试作弊检讨书怎么写?
2014/12/21 职场文书
主持稿开场白
2015/06/01 职场文书
先进党支部事迹材料2016
2016/02/26 职场文书
某某店铺的开业庆典主持词范本
2019/11/25 职场文书
JAVA API 实用类 String详解
2021/10/05 Java/Android