PHP接入微信公众号
前言:微信公众号现在是大家不可缺少的宣传平台,毕竟背靠微信这个巨大流量平台,所以将项目接入微信公众号是必须要掌握的技能
前提
- 服务器资源:你需要拥有一台公网服务器资源(阿里云、腾讯云或者其他云资源)
- 服务器环境:推荐使用LNMP环境,完美契合PHP开发。(请确保你的服务器已经成功运行PHP,有不清楚的可以私聊楼主)
- 公众号资源:如果没有公众号,先去公众号平台申请微信公众平台。一般个人只能申请订阅号。
- 技术要求:掌握一定的代码能力即可
开发配置
- 登录公众平台后点击
开发->基本配置 - 获取开发者密码并保存(
请保存在只有你能看到的地方) - 添加IP白名单(加上你的服务器公网IP)
- 填写服务器配置。服务器地址可以用IP也可以用域名,填写你的脚本地址(用于微信接入),token自定义,AESKEY随机生成即可,消息方式选安全模式。
- 当然,以上信息请保存到项目里来调用。在这里先别点提交!
脚本开发
-
接下来只要把你在上一步填写的链接地址中的接口开发完成即可。
-
可以直接copy代码进去。文档说明微信开发文档(文档的demo不是接入的。。)
<?php
/**
* Message: 微信公众号开发者接入
* User: jzc
* Date: 2018/12/20
* Time: 5:51 PM
* Return:
*/
namespace api\controllers;
use yii\web\Request;
class WeiXinController
{
public function actionIndex()
{
$params = (new Request())->get();//不用yii2的同学替换为 $params=$_GET;
$tmpArray = array(WX_TOKEN, $params['timestamp'], $params['nonce']);//WX_TOKEN就是上一步填写的token值
sort($tmpArray, SORT_STRING);//别漏了第二个参数
$tmpStr = implode($tmpArray);
$tmpStr = sha1($tmpStr);
if ($params['signature'] == $tmpStr) {
echo $params['echostr'];
exit();
}
echo 'failed';
}
}
大功告成
-
完成上述步骤后,点击提交,就会看到配置成功啦!
-
可能出现的问题 -
token解析失败:说明你的接口没有返回 -
服务错误:你的服务器可能有问题,尝试下自己能否访问接口
欢迎大家关注我的公众号
异次元程序员一起学习成长!