问题:微信测试号的接入问题
接入一直提示配置失败
//这个是成功图
debug思路:
- 查看apache日志,error.log
没找到错误。
- 配置输出跟踪中间量
这里我写了一个类
<?php
/**
* Created by PhpStorm.
* User: sirius
* Date: 2017/10/7
* Time: 9:32
*/
class LogUtil
{
private $filePath;
public function __construct($filePath='log.ss')
{
date_default_timezone_set('PRC');
$this->filePath=$filePath;
}
public function pushError($msg){
$today = date("[Y-m-d H:i:s]");
$content=$today."-[error]:\t".$msg.PHP_EOL;
file_put_contents($this->filePath,$content,FILE_APPEND);
}
public function pushNotice($msg){
$today = date("[Y-m-d H:i:s]");
$content=$today."-[notice]:\t".$msg.PHP_EOL;
file_put_contents($this->filePath,$content,FILE_APPEND);
}
public function pushDebug($msg){
$today = date("[Y-m-d H:i:s]");
$content="$today-[debug]:\t$msg".PHP_EOL;
file_put_contents($this->filePath,$content,FILE_APPEND);
}
}
在程序中输出验证过程需要的一些变量值
这里str是用sha1加密处理的结果,显然和signature相等
- 查看源代码
模拟访问:查看access.log
每一次的提交,微信服务器都会对我们的服务器来一次验证性的访问,所以看访问apache的日志:access.log
可以看到
然后复制访问地址,拼接上域名,用浏览器访问
发现echostr可以显示出来
浏览器右键查看源码
发现多了一行空行,然后才是数据,后来发现我php代码<?php前多了一个空行
正确的结果
只有一行,一行,切记