1 公众号准备

首先申请一个公众号申请公众号网页

由于一般的个人订阅号开放的功能有限,作为学习者,我们并不推荐使用这种账号的开发者模式进行开发,而是另外申请一个测试号进行开发学习,测试号开放的功能基本可以满足我们的学习需求。

默认的测试号登陆进去是这样子的

2 服务器准备

微信开发需要一台具有公网IP的服务器,通常可以使用各种云平台的服务器:如腾讯云,阿里云等,大多数都是收费的,如果仅仅是体验一下,可以使用免费的新浪云sae服务器

2.1 新浪sae服务器的申请和使用(仅支持PHP)


2.1.1 创建应用

打开官网https://www.sinacloud.com

注册或登录,点击控制台->云应用SAE,点击创建应用

选择空间(运行环境选择标准环境,其他的需要付费)

2.1.2 代码管理

在应用列表选择管理

选择运行环境管理,代码管理,创建新版本

新建完成后可以直接在线编辑代码上传代码包

2.1.3 访问测试

创建新版本时默认是没有代码的,故直接访问结果是404

这时可以通过在线编辑或者上传代码包的方式增加代码,比如我在线编辑一个index.html

保存之后再访问

由于还没实名认证,浏览器给出了风险提示,但是我们的代码已经生效了

实名认证可以到新浪云用户中心进行操作

2.1.4 使用git进行代码控制

在新浪云创建新运用后,新浪云默认为我们创建了一个代码仓库,地址:https://git.sinacloud.com/newapp,将newapp换成你的二级域名即可,我们可以将这个代码库克隆下来

示例:

git clone https://git.sinacloud.com/chzchat
cd chzchat

这样我们就可以在这个目录下进行开发,开发完成后使用git命令就可以将代码推送到代码库,代码库是和服务器关联的,这个操作等同于上传代码包,但是更方便,关于git的使用可以参考廖雪峰老师的教程

2.2 腾讯云15天免费云服务器

2.2.1 领取免费服务器

领取地址,首先需要实名认证,这里我选择的操作系统是Ubuntu14

开通后会在控制台的通知那里收到一条信息,里面有操作系统的初始密码,我们可以选择重置密码来设置新密码

2.2.2 登陆服务器

  • 在浏览器端登陆服务器

    选择登陆操作,需要微信授权,选择标准登陆模式

    用户名默认为ubuntu,登陆密码为初始密码或重置后的密码,成功登陆

  • 使用xshell登陆

    新建连接

    双击新建立的连接,按提示输入用户名和密码即可成功登陆

  • 使用xftp登陆

    使用xftp可以在两台计算机之间快速传输文件,连接方式选择sftp,其他操作和xshell基本一致

    传输失败的原因可能是Linux的目录没有写入权限,这时我们可以使用xshell先设置好目录权限

    chmod 777 目录名

2.2.3 配置开发环境

  • 配置apache2+php5+mysql

    sudo apt-get update
    sudo apt-get install apache2
    sudo apt-get install php5
    sudo apt-get install mysql-server mysql-client

    测试apache2是否安装成功

    浏览器访问服务器公网IP

    测试php是否安装成功

    sudo vim /var/www/html/phpinfo.php

    phpinfo.php内容

    <?php
    phpinfo();

    保存退出编辑,访问phpinfo.php

    测试mysql是否安装成功

    #连接数据库
    mysql -uroot -p
    #输入密码

  • 其他环境配置请自行百度

3 公众号与服务器关联

3.1 微信入口文件

在开发目录下新建微信入口文件wx_entrance.php

<?php

define('TOKEN','chz'); $signature=$_GET['signature']; $timestamp=$_GET['timestamp']; $nonce=$_GET['nonce']; $echostr=$_GET['echostr'];  $tmpArr=array(TOKEN,$timestamp,$nonce); sort($tmpArr,SORT_STRING); // 拼接字符串 sha1加密 $tmpStr=join($tmpArr); $tmpStr=sha1($tmpStr);  if ($tmpStr==$signature) {  echo $echostr; }else{  echo "error";  exit; } 

3.2 接口配置信息

上传代码到服务器,配置微信测试号接口配置信息

URL填:http://你的服务器公网IP(或域名)/微信入口文件名

Token填微信入口文件中定义的TOKEN,如果信息匹配且服务器器已经实名验证,则提交后提示配置成功

4 微信开发小demo——微信消息的接入和消息回复

修改微信入口文件的代码为

<?php

// 加密签名 $signature=$_GET['signature']; // 时间戳 $timestamp=$_GET['timestamp']; // 随机出 $nonce=$_GET['nonce']; // 随机字符串 $echostr=$_GET['echostr']; // TOKEN define('TOKEN','chz'); // 字典序排序 $tmpArr=array(TOKEN,$timestamp,$nonce); sort($tmpArr,SORT_STRING); // 拼接字符串 sha1加密 $tmpStr=join($tmpArr); $tmpStr=sha1($tmpStr); // 加密签名的比较 if ($tmpStr==$signature) {  echo $echostr; }else{  echo "error";  exit; }  // 接受xml数据 $postStr = $GLOBALS["HTTP_RAW_POST_DATA"];  if (!$postStr) {  echo "post data error";  exit; }  $postObj=simplexml_load_string($postStr,'SimpleXMLElement', LIBXML_NOCDATA ); $MsgType=$postObj->MsgType;  switch ($MsgType) {  case 'text':  $Content=$postObj->Content;  switch ($Content) {  case 'hello':  $xml='<xml>  <ToUserName><![CDATA[%s]]></ToUserName>  <FromUserName><![CDATA[%s]]></FromUserName>  <CreateTime>%d</CreateTime>  <MsgType><![CDATA[text]]></MsgType>  <Content><![CDATA[%s]]></Content>  </xml>';  echo sprintf($xml,$postObj->FromUserName,$postObj->ToUserName,time(),'欢迎关注');   break;   default:  $xml='<xml>  <ToUserName><![CDATA[%s]]></ToUserName>  <FromUserName><![CDATA[%s]]></FromUserName>  <CreateTime>%d</CreateTime>  <MsgType><![CDATA[text]]></MsgType>  <Content><![CDATA[%s]]></Content>  </xml>';  echo sprintf($xml,$postObj->FromUserName,$postObj->ToUserName,time(),$postObj->Content);  break;  }   break;  case 

转载于:https://www.cnblogs.com/chuanzi/p/10852139.html

php微信公众号开发入门相关推荐

  1. 微信公众号开发入门教程第一篇

    微信公众号开发入门教程第一篇 关键字:微信公众平台开发 作者:方倍工作室 在这篇微信公众平台开发教程中,我们假定你已经有了PHP语言程序.MySQL数据库.计算机网络通讯.及HTTP/XML/CSS/ ...

  2. 微信开发学习总结(一)——微信公众号开发入门指引

    本节要求: ①微信公众号申请 ②测试公众号的注册 ③准备微信公众号开发的环境 微信公众号开发入门指引 微信公众号的接入在微信公众平台-微信公众平台技术文档中有着详细的介绍.在进行微信开发前,建议先完整 ...

  3. JAVA微信公众号开发入门

    好久没进博客,最近应某人的要求,要每周写一篇博客,故此今天就把我这周刚学的微信公众号开发的知识在此总结总结,以供后人查阅.我写博客都是简要白话文,勿喷. 1.为什么要学微信公众号开发 微信的用户量庞大 ...

  4. 微信公众号开发—入门系列(一)

    最近在学习微信公众号开发的相关内容,现将学习内容总结如下: 一.微信公众平台简介 微信公众平台,即我们平时所说的"公众号",曾用名"官方平台"."媒体 ...

  5. Java微信公众号开发入门:一、微信公众号简介

    微信公众号 微信公众号,是微信公众平台的一种账户类型,旨在为特定或公开用户群体提供信息.营销等服务.用户可通过关注公众号来使用特定服务,进行不同活动. 微信公众号主要包括三类:订阅号.服务号.企业号( ...

  6. php微信公众号开发入门,PHP微信公众号开发入门(二)

    好了,上一篇已经介绍到了如何成为一个微信开发者,并且简单介绍了如何获取和发送简单的文本信息,这次就来介绍一下其他类型数据的接收和发送方式. 我们可以通过微信端给我们发送来的xml来判断用户发送消息的类 ...

  7. 微信公众号开发入门教程

    1.申请注册一个公众号,个人的就可以了,然后进入测试号,如下图:(测试账号,除了支付其他的都可以用) 2.获取用户信息: (1)前端代码: 前端需要先获取code然后传给后端获取用户信息,之后就可以尽 ...

  8. 微信公众号开发入门 --验证消息来自微信服务器 (java)

    第二步:验证消息的确来自微信服务器 开发者提交信息后,微信服务器将发送GET请求到填写的服务器地址URL上,GET请求携带参数如下表所示: 参数 描述 signature 微信加密签名,signatu ...

  9. 微信公众号开发的一些方法总结

    概述 微信公众号开发,其实就是微信使用者.微信公众号平台和自身服务器的http消息交互:在这一系列过程中,微信公众号平台充当了中介和转发作用(如图1所示).需要注意的是,微信公众号平台向自身服务器转发 ...

最新文章

  1. 关于计算机视觉的那些论文 | CCF推荐论文导读
  2. 串的模式匹配、KMP算法、nextval数组求法
  3. NGUI的button的创建的问题(Button Script)
  4. Win10系统在运行界面cmd出现ipconfig命令无法使用的情况的解决办法!!
  5. 什么影响了数据库的性能?
  6. [Robot Framework] 怎么做数学运算?
  7. 2017年SEO行业的前景以及未来趋势
  8. python实现项目的复制_python实现复制大量文件功能
  9. 我的第一场比赛——金马五校赛
  10. linux下安装xgboost
  11. 基于OpenCV 的美颜相机推送直播流
  12. 换帅缘于投入 SAP中国新总裁上手仍需时间
  13. 超链接的伪类及如何清除缓存
  14. ThreadLocal是什么
  15. 如何用python做后端写网页-flask框架
  16. Kotlin Compose 状态恢复 rememberSaveable 与 remember
  17. 视频号新手必备:定位、涨粉、私域全攻略
  18. 一文了解云计算,全世界一台计算机
  19. RDP报表工具v2.3.*版本升级操作步骤
  20. SQL语法应用介绍-尚硅谷大数据培训

热门文章

  1. javascript判断ie浏览器
  2. java,将Image变量保存成图片
  3. Windows 10系统重装U盘启动工具制作方法实例演示,windows11镜像下载地址
  4. Git 技术篇 - 同步代码到github失败,提示non-fast-forward、error: failed to push some refs to问题解决方法,git pull的用法
  5. JavaScript 技术篇-js获取document的几种方式,js获取dom元素的常用方法。
  6. cmd常用命令与演示
  7. 电磁场第二章公式总结
  8. 3.4 matlab用for语句实现循环结构
  9. Python过滤掉numpy.array中非nan数据
  10. 2.2.7 局部最优化问题