Thinkphp5 微信公众号token验证不成功的原因及解决方法

 更新时间:2017年11月12日 09:11:41   作者:简庆旺   我要评论
下面小编就为大家带来一篇Thinkphp5 微信公众号token验证不成功的原因及解决方法。小编觉得挺不错的,现在就分享给大家,也给大家做个参考。一起跟随小编过来看看吧

最近要启动微信项目,上个月就开始了解微信的开发,这个月要启动项目,配置微信公众号信息一直失败。为此,我甚至手工写了微信提交过来的记录,如:

×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验证不成功的原因及解决方法就是小编分享给大家的全部内容了,希望能给大家一个参考,也希望大家多多支持脚本之家。

相关文章

  • ThinkPHP5查询数据及处理结果的方法小结

    ThinkPHP5查询数据及处理结果的方法小结

    这篇文章主要介绍了ThinkPHP5查询数据及处理结果的方法,结合实例总结分析了thinkPHP5常见查询语句及查询数据库的三种方式,需要的朋友可以参考下
    2017-11-11
  • ThinkPHP 连接Oracle数据库的详细教程[全]

    ThinkPHP 连接Oracle数据库的详细教程[全]

    最近收集了一些关于THinkPHP连接Oracle数据库的问题,有很多朋友按照连接mysql的方法来操作,导致有一些方法在Oreale中无法正常使用
    2012-07-07
  • php+layui数据表格实现数据分页渲染代码

    php+layui数据表格实现数据分页渲染代码

    今天小编就为大家分享一篇php+layui数据表格实现数据分页渲染代码,具有很好的参考价值,希望对大家有所帮助。一起跟随小编过来看看吧
    2019-10-10
  • PHP使用CURL获取302跳转后的地址实例

    PHP使用CURL获取302跳转后的地址实例

    这篇文章主要介绍了PHP使用CURL获取302跳转后的地址实例,需要的朋友可以参考下
    2014-05-05
  • ThinkPHP5+Layui实现图片上传加预览功能

    ThinkPHP5+Layui实现图片上传加预览功能

    这篇文章主要介绍了ThinkPHP5+Layui实现图片上传加预览功能,本文通过实例代码给大家介绍的非常详细,具有一定的参考借鉴价值,需要的朋友可以参考下
    2018-08-08
  • PHP将URL转换成短网址的算法分享

    PHP将URL转换成短网址的算法分享

    短网址(Short URL)顾名思义就是在形式上比较短的网址。在Web 2.0的今天,不得不说这是一个潮流。目前已经有许多类似服务,借助短网址您可以用简短的网址替代原来冗长的网址,让使用者可以更容易的分享链接,下面来看看如何用PHP实现这个功能,有需要的朋友们可以参考。
    2016-09-09
  • thinkphp5.1框架实现格式化mysql时间戳为日期的方式小结

    thinkphp5.1框架实现格式化mysql时间戳为日期的方式小结

    这篇文章主要介绍了thinkphp5.1框架实现格式化mysql时间戳为日期的方式,结合实例形式分析了thinkPHP针对mysql时间戳格式转换的相关操作技巧,需要的朋友可以参考下
    2019-10-10
  • PHP图片裁剪与缩放示例(无损裁剪图片)

    PHP图片裁剪与缩放示例(无损裁剪图片)

    本篇文章主要介绍了PHP图片裁剪与缩放示例(无损裁剪图片),小编觉得挺不错的,现在分享给大家,也给大家做个参考。一起跟随小编过来看看吧
    2017-02-02
  • Laravel5.1 框架文件管理操作实例分析

    Laravel5.1 框架文件管理操作实例分析

    这篇文章主要介绍了Laravel5.1 框架文件管理操作,结合实例形式分析了laravel5.1框架文件管理相关的配置、磁盘获取以及文件目录操作技巧,需要的朋友可以参考下
    2020-01-01
  • PHP中用Trait封装单例模式的实现

    PHP中用Trait封装单例模式的实现

    这篇文章主要介绍了PHP中用Trait封装单例模式的实现,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友们下面随着小编来一起学习学习吧
    2019-12-12

最新评论