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

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

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

&timestamp=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-fpm 参数的深入理解

    基于php-fpm 参数的深入理解

    本篇文章是对php-fpm参数进行了详细的分析介绍,需要的朋友参考下
    2013-06-06
  • ThinkPHP5+Layui实现图片上传加预览功能

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

    这篇文章主要介绍了ThinkPHP5+Layui实现图片上传加预览功能,本文通过实例代码给大家介绍的非常详细,具有一定的参考借鉴价值,需要的朋友可以参考下
    2018-08-08
  • php制作文本式留言板

    php制作文本式留言板

    本文给大家分享的是使用php结合文本文件制作的留言板的代码,非常简单,实现了常用的功能,推荐给大家,有需要的小伙伴参考下吧。
    2015-03-03
  • php实现记事本案例

    php实现记事本案例

    这篇文章主要为大家详细介绍了php实现记事本案例,文中示例代码介绍的非常详细,具有一定的参考价值,感兴趣的小伙伴们可以参考一下
    2020-10-10
  • php版微信公众平台开发之验证步骤实例详解

    php版微信公众平台开发之验证步骤实例详解

    这篇文章主要介绍了php版微信公众平台开发之验证步骤,结合实例形式详细分析了php微信公众平台验证的操作步骤与相关参数含义,需要的朋友可以参考下
    2016-09-09
  • php木马webshell扫描器代码

    php木马webshell扫描器代码

    因为前端时间服务器被放过 所以写了个webshell扫描器 呵呵 专杀php webshell 不管大马还是小马 包括一句话 现在放出代码来
    2012-01-01
  • 实现PHP框架系列文章(6)mysql数据库方法

    实现PHP框架系列文章(6)mysql数据库方法

    这篇文章主要介绍了实现PHP框架系列文章(6)mysql数据库方法的相关资料,需要的朋友可以参考下
    2016-03-03
  • PHP include任意文件或URL介绍

    PHP include任意文件或URL介绍

    include和require的用途是包含并运行指定的文件。在官方手册没有说明被包含的文件类型,那么PHP到底能不能include一个非PHP文件呢?
    2014-04-04
  • laravel5使用freetds连接sql server的方法

    laravel5使用freetds连接sql server的方法

    这篇文章主要给大家介绍了关于laravel5使用freetds连接sql server的相关资料,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友们下面随着小编来一起学习学习吧
    2018-12-12
  • 从零开始学YII2框架(六)高级应用程序模板

    从零开始学YII2框架(六)高级应用程序模板

    这篇文章主要介绍了YII2框架学习笔记之高级应用程序模板,深入浅出从安装,配置到使用方法都做了介绍,希望对大家有所帮助
    2014-08-08

最新评论