Skip to content

tencentyun/wafer-php-server-demo

Repository files navigation

Wafer 服务端 Demo - PHP

本仓库是 Wafer 组成部分,提供 PHP 版本业务服务器示例。示例需要和微信小程序客户端示例配合一起使用。

运行示例

选择合适的方式部署 Wafer,并按照小程序创建资源配置指引进行操作,可以得到运行本示例所需的资源和服务。请参考以下配置。

  • SDK 配置文件:/etc/qcloud/sdk.config
  • 示例代码部署目录:/data/release/php-weapp-demo
  • 运行示例的 nginx 配置文件: /etc/nginx/conf.d/php-weapp-demo.conf
  • PHP 版本:v5.6.27
  • composer 版本:v1.2.1
  • nginx 版本:v1.10.1

项目结构

Demo
├── application
│   ├── business
│   │   └── ChatTunnelHandler.php
│   ├── cache
│   ├── config
│   ├── controllers
│   │   ├── Welcome.php
│   │   ├── Login.php
│   │   ├── User.php
│   │   └── Tunnel.php
│   ├── core
│   ├── helpers
│   │   └── general_helper.php
│   ├── hooks
│   ├── language
│   ├── libraries
│   ├── logs
│   ├── models
│   ├── third_party
│   ├── vendor
│   └── views
│       └── welcome_message.php
├── index.php
├── install_qcloud_sdk.php
├── composer.json
└── system

示例使用 CodeIgniter(v3.1) 框架制作。其中,index.php 是 启动文件,install_qcloud_sdk.php 用于初始化 SDK 配置,配置从文件 /etc/qcloud/sdk.config 中读取。配置文件包含如下配置项:

{
    "serverHost": "业务服务器的主机名",
    "authServerUrl": "鉴权服务器地址",
    "tunnelServerUrl": "信道服务器地址",
    "tunnelSignatureKey": "和信道服务器通信的签名密钥",
    "networkTimeout": 30000
}

其中 networkTimeout 为超时时间,单位是毫秒

composer.json 文件中声明了对 SDK 的依赖,可执行命令 composer install 安装依赖。

application/controllers/ 目录包含了示例用到的4个路由,路由和处理文件映射关系如下:

// 首页指引
/ => application/controllers/Welcome.php

// 登录
/login => application/controllers/Login.php

// 获取微信用户信息
/user => application/controllers/User.php

// 处理信道请求
/tunnel => application/controllers/Tunnel.php

application/business/ChatTunnelHandler.php 是业务处理信道请求的示例代码。

application/helpers/general_helper.php 包含简单的 debug 方法用于打印日志。

更新 SDK 版本

进入目录 /data/release/php-weapp-demo,然后执行命令 composer update 即可。

如果在demo基础上开发

将自己开发的接口放到如下目录下即可生效 /data/release/php-weapp-demo/application/controllers/

重启服务:

       service php-fpm restart

Releases

No releases published

Packages

No packages published

Contributors 4

  •  
  •  
  •  
  •