"token验证失败" 可能原因有很多种,其他网友已经几乎穷尽了,但是我所遇到的在网络上没有看到,所以这里记录下。

  失败原因是编码问题;

  由于我是在一个项目中开发,从业务逻辑到技术逻辑,再到域名、备案、网络、编码这个循序依次排查。

  

  后来发现在项目入口处有这么一个代码 include(../data.config.php),在这段代码前面echo $_GET['echostr']能够通过,但是在这段代码后面,echo $_GET['echostr'],就是失败的。

  data.config.php文件的原编码格式为(notepad++打开)

php开发公众号 token验证失败 其中一个原因-LMLPHP将格式调整为 php开发公众号 token验证失败 其中一个原因-LMLPHP 问题解决掉了。

其实utf-8本质上是没有BOM和非BOM区别的,传输中肯定不会存在误解,但是就是拥有两种格式,也是没办法。 具体BOM是什么东西,我在另外一篇里面有细说。

这里给一个不同编码的十六进制对比。

php开发公众号 token验证失败 其中一个原因-LMLPHP


09-13 00:02