PHP微信公众号开发之基本配置
(提示:需要有服务器或云虚拟机)
一开始不明白公众号不是可以这样管理吗?

那么为什么用开发平台进行公众号开发,官方文档是这样说的
为了识别用户,每个用户针对每个公众号会产生一个安全的OpenID,
如果需要在多公众号、移动应用之间做用户共通,则需前往微信开放平
台,将这些公众号和应用绑定到一个开放平台账号下,绑定后,一个用
户虽然对多个公众号和应用有多个不同的OpenID,但他对所有这些同
一开放平台账号下的公众号和应用,只有一个UnionID,可以在用户管
理-获取用户基本信息(UnionID机制)文档了解详情。
下面开始基本配置吧

下面这些都要设置的

(以上信息建议复制一份到文本文档中)
当然要上传相应文件到服务器上

代码如下:
1 define("TOKEN", "hello");//令牌改成自己的
2
3 $wechatObj = new wechatCallbackapiTest();
4
5 $wechatObj->valid();
6
7
8
9 class wechatCallbackapiTest
10
11 {
12
13
14 public function valid()
15
16 {
17
18 $echoStr = $_GET["echostr"];
19
20
21
22 //valid signature , option
23
24 if($this->checkSignature()){
25
26 echo $echoStr;
27
28 exit;
29
30 }
31
32 }
33
34
35
36 public function responseMsg()
37
38 {
39
40 //get post data, May be due to the different environments
41
42 $postStr = $GLOBALS["HTTP_RAW_POST_DATA"];
43
44
45
46 //extract post data
47
48 if (!empty($postStr)){
49
50
51
52 $postObj = simplexml_load_string($postStr, 'SimpleXMLElement', LIBXML_NOCDATA);
53
54 $fromUsername = $postObj->FromUserName;
55
56 $toUsername = $postObj->ToUserName;
57
58 $keyword = trim($postObj->Content);
59
60 $time = time();
61
62 $textTpl = "<xml>
63
64 <ToUserName><![CDATA[%s]]></ToUserName>
65
66 <FromUserName><![CDATA[%s]]></FromUserName>
67
68 <CreateTime>%s</CreateTime>
69
70 <MsgType><![CDATA[%s]]></MsgType>
71
72 <Content><![CDATA[%s]]></Content>
73
74 <FuncFlag>0</FuncFlag>
75
76 </xml>";
77
78 if(!empty( $keyword ))
79
80 {
81
82 $msgType = "text";
83
84 $contentStr = "Welcome to wechat world!";
85
86 $resultStr = sprintf($textTpl, $fromUsername, $toUsername, $time, $msgType, $contentStr);
87
88 echo $resultStr;
89
90 }else{
91
92 echo "Input something...";
93
94 }
95
96
97
98 }else {
99
100 echo "";
101
102 exit;
103
104 }
105
106 }
107
108
109
110 private function checkSignature()
111
112 {
113
114 $signature = $_GET["signature"];
115
116 $timestamp = $_GET["timestamp"];
117
118 $nonce = $_GET["nonce"];
119
120
121
122 $token = TOKEN;
123
124 $tmpArr = array($token, $timestamp, $nonce);
125
126 sort($tmpArr);
127
128 $tmpStr = implode( $tmpArr );
129
130 $tmpStr = sha1( $tmpStr );
131
132
133
134 if( $tmpStr == $signature ){
135
136 return true;
137
138 }else{
139
140 return false;
141
142 }
143
144 }
145
146 }
配置成功后,按启用,基本配置就算完成了。

PHP微信公众号开发之基本配置的更多相关文章
- 3.微信公众号开发:配置与微信公众平台服务器交互的URL接口地址
微信开发基本原理: 1.首先有3个对象 分别是微信用户端 微信公众平台服务器 开发者服务器(也就是放自己代码的服务器) 三者间互相交互 2.微信公众平台服务器 充当中间者角色 (以被动回复消息为例) ...
- python之微信公众号开发(基本配置和校验)
前言 最近有微信公众号开发的业务,以前没有用python做过微信公众号开发,记录一下自己的学习和开发历程,共勉! 公众号类型 订阅号 普通订阅号 认证订阅号 服务号 普通服务号 认证服务号 服务方式 ...
- 微信公众号开发(一)--验证服务器地址的Java实现
现在主流上都用php写微信公众号后台,其实作为后端语言之一的java也可以实现. 这篇文章将对验证服务器地址这一步做出实现. 参考资料:1.慕课网-<初识java微信公众号开发>,2.微信 ...
- C#微信公众号开发系列教程二(新手接入指南)
http://www.cnblogs.com/zskbll/p/4093954.html 此系列前面已经更新了两篇博文了,都是微信开发的前期准备工作,现在切入正题,本篇讲解新手接入的步骤与方法,大神可 ...
- 微信公众号开发系列教程一(调试环境部署续:vs远程调试)
http://www.cnblogs.com/zskbll/p/4080328.html 目录 C#微信公众号开发系列教程一(调试环境部署) C#微信公众号开发系列教程一(调试环境部署续:vs远程调试 ...
- NET微信公众号开发-5.0微信支付(待测试)
开发前准备. 1.0微信支付官方开发者文档 2.0官方demo下载 我们用c#所以选择.net版本 不过这个官方的demo根本跑步起来 3.0官方demo运行起来解决方案 4.0微信支付官方.net版 ...
- .NET开发者如何愉快的进行微信公众号开发
(此文章同时发表在本人微信公众号"dotNET每日精华文章",欢迎右边二维码来关注.) 题记:这篇文章只是一个如何提高开发效率的简单指导和记录,不会涉及具体的微信公众号开发内容. ...
- 微信公众号开发之被逼学web服务端1-----使用SecureCRT连接Linux服务器
做Android的进新公司后安排做微信公众号开发,这基本是后台和前端的活都要由小白的我来做,这两天基本成鸭子了,被填的满满的,却还是不够,博文仅作记录,希望能给后来的小白一点参考吧 今天做的是如何配置 ...
- .net微信公众号开发——消息与事件
作者:王先荣 本文介绍如何处理微信公众号开发中的消息与事件,包括:(1)消息(事件)概况:(2)验证消息的真实性:(3)解析消息:(4)被动回复消息:(5)发送其他消息. 开源项目地址:h ...
随机推荐
- C# 获取机器码
using System.Runtime.InteropServices; using System.Management; using System; public class HardwareIn ...
- ThinkPHP3.2 where方法的使用
where方法的用法是ThinkPHP查询语言的精髓,也是ThinkPHP ORM的重要组成部分和亮点所在,可以完成包括普通查询.表达式查询.快捷查询.区间查询.组合查询在内的查询操作.where方法 ...
- optimization.splitChunks 中,chunks 的3个值:all、async、initial 的含义
chunks 参数值 含义 all 把动态和非动态模块同时进行优化打包:所有模块都扔到 vendors.bundle.js 里面. initial 把非动态模块打包进 vendor,动态模块优化打包 ...
- asp.net core 中KindEditor的使用
主要是需要对上传图片和文件管理的服务端进行改造 public class KindEditorController : Controller { private IHostingEnvironment ...
- 读DataSnap源代码(二)
program Project1; {$APPTYPE GUI} {$R *.dres} uses Vcl.Forms, Web.WebReq, IdHTTPWebBrokerBridge, Form ...
- Linux 如何配置虚拟机下的Centos静态ip
如何配置虚拟机下的Centos静态ip 1. 配置虚拟机的虚拟路由器 2. 配置物理主机的虚拟网卡(VMNET8) 3. 配置虚拟主机Centos的网卡 vi ...
- Delphi中使用ADO连接Excel
第一部分: . 设置ADOConnection的ConnectionString属性的OLE DB的提供者要选择Microsoft Jet 4.0 OLE DB Provider(这本来是用于连接Ac ...
- Azure SQL 数据库仓库Data Warehouse (3) DWU
<Windows Azure Platform 系列文章目录> 在笔者的上一篇文章中:Azure SQL 数据库仓库Data Warehouse (2) 架构 介绍了SQL DW的工作节点 ...
- 在VMware中安装Mac OS
macOS与Darwin http://blog.csdn.net/hintcnuie/article/details/38468093 OS X 是整个操作系统的一个集体名称.而Darwin 就是其 ...
- PREV-42_蓝桥杯_九宫幻方
问题描述 小明最近在教邻居家的小朋友小学奥数,而最近正好讲述到了三阶幻方这个部分,三阶幻方指的是将1~9不重复的填入一个3*3的矩阵当中,使得每一行.每一列和每一条对角线的和都是相同的. 三阶幻方又被 ...