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 04 PHP
php和javascript之间变量的传递实现代码
Dec 19 PHP
精美漂亮的php分页类代码
Apr 02 PHP
php对二维数组进行排序的简单实例
Dec 19 PHP
PHP中Restful api 错误提示返回值实现思路
Apr 12 PHP
PHP中文字符串截断无乱码解决方法
Oct 10 PHP
php页面跳转session cookie丢失导致不能登录等问题的解决方法
Dec 12 PHP
基于PHP常用文件函数和目录函数整理
Aug 17 PHP
浅析PHP中的 inet_pton 网络函数
Dec 16 PHP
php加速缓存器opcache,apc,xcache,eAccelerator原理与配置方法实例分析
Mar 02 PHP
PhpStorm的使用教程(本地运行PHP+远程开发+快捷键)
Mar 26 PHP
浅析PHP echo 和 print 语句
Jun 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
php UTF8 文件的签名问题
2009/10/30 PHP
php下网站防IP攻击代码,超级实用
2010/10/24 PHP
[原创]ThinkPHP让../Public在模板不解析(直接输出)的方法
2015/10/09 PHP
TP3.2.3框架文件上传操作实例详解
2020/01/23 PHP
同一页面多个商品倒计时JS 基于面向对象的javascript
2012/02/16 Javascript
jquery实现鼠标拖动图片效果示例代码
2014/01/09 Javascript
js完美的div拖拽实例代码
2014/01/22 Javascript
jQuery中delegate和on的用法与区别详细解析
2014/01/26 Javascript
JQUERY 设置SELECT选中项代码
2014/02/07 Javascript
Node.js与PHP、Python的字符处理性能对比
2014/07/06 Javascript
使用jQuery.wechat构建微信WEB应用
2014/10/09 Javascript
如何根据百度地图计算出两地之间的驾驶距离(两种语言js和C#)
2015/10/29 Javascript
基于javascript代码检测访问网页的浏览器呈现引擎、平台、Windows操作系统、移动设备和游戏系统
2015/12/03 Javascript
AngularJS入门教程之Scope(作用域)
2016/07/27 Javascript
用NodeJS实现批量查询地理位置的经纬度接口
2016/08/16 NodeJs
vuejs 制作背景淡入淡出切换动画的实例
2018/09/01 Javascript
解决mui框架中switch开关通过js控制开或者关状态时小圆点不动的问题
2019/09/03 Javascript
VueCli生产环境打包部署跨域失败的解决
2020/11/13 Javascript
原生JS实现拖拽功能
2020/12/16 Javascript
[10:05]DOTA2-DPC中国联赛 正赛 iG vs PSG.LGD 选手采访
2021/03/11 DOTA
Python实现的读取/更改/写入xml文件操作示例
2018/08/30 Python
[原创]Python入门教程3. 列表基本操作【定义、运算、常用函数】
2018/10/30 Python
Python2.7版os.path.isdir中文路径返回false的解决方法
2019/06/21 Python
python numpy之np.random的随机数函数使用介绍
2019/10/06 Python
python实现while循环打印星星的四种形状
2019/11/23 Python
python爬虫模拟浏览器访问-User-Agent过程解析
2019/12/28 Python
python抢购软件/插件/脚本附完整源码
2021/03/04 Python
存储过程的优缺点是什么
2015/01/10 面试题
请解释一下webService? 如何用.net实现webService
2014/06/09 面试题
预备党员思想汇报
2014/01/08 职场文书
数控专业个人求职信范文
2014/02/05 职场文书
家长寄语大全
2014/04/02 职场文书
书法社团活动总结
2015/05/07 职场文书
暑期工社会实践报告
2015/07/13 职场文书
高三数学教学反思
2016/02/18 职场文书
MySQL query_cache_type 参数与使用详解
2021/07/01 MySQL