微信公众平台 开始开发(服务器配置)

时间:2022-04-02 04:49:03

接上篇:开发前准备

接入(服务器配置):

1.默认成功安装Think PHP(下载,解压,重命名,放到环境配置的站点根目录然后URL访问出现欢迎界面就成功了);

https://mp.weixin.qq.com/wiki?t=resource/res_main&id=mp1421135319&token=&lang=zh_CN填写服务器配置,包括自定义URL(关注后的默认访问路径,我设置的是Think PHP默认首页,即Home/index.html),自定义Token(按要求自己能记住即可);

2.按“检验signature的PHP示例代码:”配置(先说“检验signature的PHP示例代码:”,再说“PHP示例代码下载:下载”):

可将官方提供的示例代码去掉前两行和最后一行即只将执行部分粘到自定义URL对应的Controller的方法中并将“$token = TOKEN;”中的TOKEN换成自定义Token,并用英文双引号扩起来,或将整个方法粘到里面并声明Token,然后调用方法,如:

  
  
      namespace Home\Controller;
use Think\Controller;
//define your token
define("TOKEN", "你的自定义TOKEN");
class IndexController extends Controller {
public function index(){
// $this->show('

:)

欢迎使用 ThinkPHP


版本 V{$Think.version}
','utf-8');
$echoStr = $_GET["echostr"];

//valid signature , option
if($this->checkSignature()){
echo $echoStr;
exit;
}



}



private function checkSignature()

{
// you must define TOKEN by yourself
if (!defined("TOKEN")) {
throw new Exception('TOKEN is not defined!');
}

$signature = $_GET["signature"];
$timestamp = $_GET["timestamp"];
$nonce = $_GET["nonce"];

$token = TOKEN;
$tmpArr = array($token, $timestamp, $nonce);
// use SORT_STRING rule
sort($tmpArr, SORT_STRING);
$tmpStr = implode( $tmpArr );
$tmpStr = sha1( $tmpStr );

if( $tmpStr == $signature ){
return true;
}else{
return false;
}

}

}

3.按“ PHP示例代码下载:下载”配置:
可在官网或此处下载压缩包并解压,同样将Token换成自己的,并用英文双引号扩起来,然后将文件直接放到 项目(是项目不是环境)根目录即index. php(是php不是html)的同级目录下,注意自定义URL和Token的对应;

此时不管按照哪个配置,提交配置应该都可以通过了,没有通过的可以先访问URL看看是否正常;
按第二个配置访问URL会提示:

Notice: Undefined index: echostr in D:\xampp\htdocs\main\WeChatDY\wx_sample.php on line 15

Notice
: Undefined index: signature in D:\xampp\htdocs\main\WeChatDY\wx_sample.php on line 70

Notice
: Undefined index: timestamp in D:\xampp\htdocs\main\WeChatDY\wx_sample.php on line 71

Notice
: Undefined index: nonce in D:\xampp\htdocs\main\WeChatDY\wx_sample.php on line 72

这是对的,直接提交验证就可以了;

4.其它环境的可参考 http://www.cnblogs.com/mchina/archive/2013/06/05/3108618.html,但是时间是13年的而且环境不一样,所以有问题还请自行查阅资料;