"token验证失败" 可能原因有很多种,其他网友已经几乎穷尽了,但是我所遇到的在网络上没有看到,所以这里记录下。
失败原因是编码问题;
由于我是在一个项目中开发,从业务逻辑到技术逻辑,再到域名、备案、网络、编码这个循序依次排查。
后来发现在项目入口处有这么一个代码 include(../data.config.php),在这段代码前面echo $_GET['echostr']能够通过,但是在这段代码后面,echo $_GET['echostr'],就是失败的。
data.config.php文件的原编码格式为(notepad++打开)
将格式调整为 问题解决掉了。
其实utf-8本质上是没有BOM和非BOM区别的,传输中肯定不会存在误解,但是就是拥有两种格式,也是没办法。 具体BOM是什么东西,我在另外一篇里面有细说。
这里给一个不同编码的十六进制对比。