下面为大家带来一篇thinkphp5 微信公众号token验证不成功的原因及解决方法。内容挺不错的,现在就分享给大家,也给大家做个参考。
最近要启动微信项目,上个月就开始了解微信的开发,这个月要启动项目,配置微信公众号信息一直失败。为此,我甚至手工写了微信提交过来的记录,如:
×tamp=1510210523&nonce=2414550015&signature=30b9eeb6b1134d0a53623375c48ca734c41facb5&echostr=6863786913073725439
我眼睛看着验证信息没错,输出的echostr跟get提交来的一模一样,但是还是会出错。忍无可忍,一直无法搞定。
自己做开发也算基本上路了,还在这种坑吃亏,有点不服,最后查看日志,一点点搞定。
立即学习“PHP免费学习笔记(深入)”;
以下是我解决问题的办法:
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;另外,提醒各位兄弟,配置信息再微信测试号配置会好些,即便错了也不用每次都扫描二维码,累死人。
以上就是本文的全部内容,希望对大家的学习有所帮助,更多相关内容请关注PHP中文网!
相关推荐:
以上就是关于Thinkphp5 微信公众号token验证不成功的原因及解决方法的详细内容,更多请关注php中文网其它相关文章!
微信是一款手机通信软件,支持通过手机网络发送语音短信、视频、图片和文字。微信可以单聊及群聊,还能根据地理位置找到附近的人,带给大家全新的移动沟通体验,有需要的小伙伴快来保存下载体验吧!
Copyright 2014-2025 https://www.php.cn/ All Rights Reserved | php.cn | 湘ICP备2023035733号