php接入微信公众平台
关于登录注册申请这些部分就不说了,本文主要讲PHP方法接入微信平台
PHP代码
<?php
$signature = $_GET["signature"];
$timestamp = $_GET["timestamp"];
$nonce = $_GET["nonce"];
$echostr = $_GET["echostr"];
$token = YOUR_TOKEN;//替换为在公众平台填写的token
$tmpArr = array($token, $timestamp, $nonce);
sort($tmpArr, SORT_STRING);//将数组中的字符串按字典序排序
$tmpStr = implode( $tmpArr );//将所有字符串拼接起来
$tmpStr = sha1( $tmpStr );//用sha1加密
if( $tmpStr == $signature ){
echo $echostr;//必须echo传来的echostr参数作为响应
}else{
echo false;
}
有些时候会出现token验证失败,下面给出一种记录访问http请求来查看来自微信服务器的请求是否传到并且是否与服务器生成的$tmpstr是否相同的方法
<?php
$signature = $_GET["signature"];
$timestamp = $_GET["timestamp"];
$nonce = $_GET["nonce"];
$echostr = $_GET["echostr"];
$token = YOUR_TOKEN;//替换为在公众平台填写的token
$tmpArr = array($token, $timestamp, $nonce);
sort($tmpArr, SORT_STRING);//将数组中的字符串按字典序排序
$tmpStr = implode( $tmpArr );//将所有字符串拼接起来
$tmpStr = sha1( $tmpStr );//用sha1加密
logRequest(" ip: ".$_SERVER['REMOTE_ADDR']." string: ".$_SERVER['QUERY_STRING']);
if( $tmpStr == $signature ){
echo $echostr;//必须echo传来的echostr参数作为响应
}else{
echo false;
}
function logRequest($data){
file_put_contents('logRequest.html',date('Y-m-d H:i:s').$data."<br>",FILE_APPEND);
}
每次在公众号点击提交后,服务器端会把每次请求储存在logRequest.html中,直接在浏览器中访问就可以看到,如果为空的话,并且以上的代码没有问题,基本就是你URL填写或者其他啥的问题了
最后提交成功后,点击启用就可以了,微信平台就接入了你的服务器(本文有错的话请留言…)