# 环境准备及安装使用
[TOC]
WeChatDeveloper 是一个功能全面、安全可靠的PHP微信和支付宝开发SDK,支持公众号、小程序、企业微信、支付等全生态开发。
## 快速开始案例
### 环境验证案例
```php
<?php
// 环境准备及安装使用案例
include "WeChatDeveloper/include.php";
echo "=== 环境准备及安装使用案例 ===\n";
// 检查PHP版本
echo "PHP版本: " . PHP_VERSION . "\n";
if (version_compare(PHP_VERSION, '7.0.0', '>=')) {
echo "✓ PHP版本满足要求\n";
} else {
echo "✗ PHP版本过低,建议升级到7.0+\n";
}
// 检查必需扩展
$required_extensions = ['curl', 'json', 'xml', 'openssl', 'mbstring', 'bcmath', 'libxml', 'simplexml'];
$missing_extensions = [];
foreach ($required_extensions as $ext) {
if (extension_loaded($ext)) {
echo "✓ {$ext} 扩展已安装\n";
} else {
echo "✗ {$ext} 扩展未安装\n";
$missing_extensions[] = $ext;
}
}
if (empty($missing_extensions)) {
echo "✓ 所有必需扩展已安装\n";
} else {
echo "✗ 缺少扩展: " . implode(', ', $missing_extensions) . "\n";
}
// 测试SDK加载
try {
$config = [
'appid' => 'wx60a43dd8161666d4',
'appsecret' => 'your_wechat_appsecret',
'cache_path' => '/path/to/cache',
];
$wechat = \WeChat\User::instance($config);
echo "✓ WeChatDeveloper SDK 加载成功\n";
echo "✓ 环境配置正确,可以开始开发\n";
} catch (Exception $e) {
echo "✗ SDK加载失败: " . $e->getMessage() . "\n";
}
```
**接口说明:**
- 环境准备和安装使用的验证示例
- 检查PHP版本和必需扩展
- 验证SDK是否正确安装
**注意事项:**
- 确保PHP版本满足要求
- 安装所有必需的扩展
- 配置正确的缓存目录权限
## 系统要求
### 基础环境
- **PHP版本**:最低要求 PHP 5.4,建议 PHP 7.0+ 以获取最佳性能
- **推荐环境**:PHP 7.4+ / PHP 8.0+ 生产环境
- **扩展要求**:curl、json、xml、openssl、mbstring、bcmath、libxml、simplexml
### 权限要求
- 缓存目录需要写权限
- 证书文件需要读取权限
## 安装方式
### 方式一:Composer 安装(推荐)
WeChatDeveloper 遵循 PSR-2 命名规范和 PSR-4 自动加载规范,我们强烈推荐用户使用 composer 来管理项目扩展库。
#### Composer 准备工作
如果还没有安装 Composer,你可以按以下方法安装:
**Linux 和 Mac OS X:**
```bash
curl -sS https://getcomposer.org/installer | php
mv composer.phar /usr/local/bin/composer
```
**Windows:**
下载并运行 [Composer-Setup.exe](https://getcomposer.org/Composer-Setup.exe)
#### 配置国内镜像(推荐)
由于众所周知的原因,国外的网站连接速度很慢。因此安装的时间可能会比较长,我们建议通过下面的方式使用国内镜像:
```bash
composer config -g repo.packagist composer https://mirrors.aliyun.com/composer/
```
#### 安装 WeChatDeveloper
进入项目根目录下,执行以下命令:
```bash
# 首次安装 线上版本(稳定)
composer require zoujingli/wechat-developer
# 首次安装 开发版本
composer require zoujingli/wechat-developer dev-master
# 更新 WeChatDeveloper
composer update zoujingli/wechat-developer
```
### 方式二:直接下载安装
如果实在不想使用 Composer 来管理 WeChatDeveloper,也可以直接下载使用:
1. 下载 WeChatDeveloper,并解压到项目中
2. 在项目中引入初始化文件(通常在入口的位置)
```php
include "您的目录/WeChatDeveloper/include.php";
```
## 快速开始
### 基础配置
```php
<?php
// 引入SDK
include "WeChatDeveloper/include.php";
// 配置参数
$config = [
'appid' => 'your_wechat_appid',
'appsecret' => 'your_wechat_appsecret',
'mch_id' => 'your_merchant_id',
'mch_v3_key' => 'your_v3_key',
'cache_path' => '/path/to/cache'
];
// 创建实例并调用
try {
// 微信用户管理
$user = \We::WeChatUser($config);
$userList = $user->getUserList();
// 微信支付
$pay = \We::WePayOrder($config);
$order = $pay->create($orderData);
} catch (Exception $e) {
echo "错误:" . $e->getMessage();
}
```
### 高级配置
```php
<?php
// 配置内存管理(适用于常驻内存框架)
\WeChat\Contracts\Tools::configureMemory([
'auto_cleanup' => true, // 启用自动清理
'max_memory' => 128 * 1024 * 1024, // 128MB内存限制
'cleanup_threshold' => 0.8, // 80%内存使用率时清理
'gc_interval' => 100, // 每100次请求清理一次
]);
// 自定义缓存
\WeChat\Contracts\Tools::$cache_callable = [
'set' => function ($name, $value, $expired = 360) {
return Redis::setex($name, $expired, serialize($value));
},
'get' => function ($name) {
$data = Redis::get($name);
return $data ? unserialize($data) : null;
},
'del' => function ($name) {
return Redis::del($name);
},
'put' => function ($name, $content) {
$file = '/path/to/cache/' . $name;
file_put_contents($file, $content);
return $file;
},
];
```
## 功能特性
### 🔒 安全可靠
- **输入验证**:全面防护XSS攻击,所有用户输入都经过严格过滤和验证
- **文件安全**:文件操作前进行存在性和权限检查,防止恶意利用
- **加密安全**:使用SHA-256替代MD5,提供更强的安全防护
- **序列化安全**:添加反序列化数据验证,防止代码执行攻击
### ⚡ 性能优化
- **自动刷新**:AccessToken失效自动刷新机制
- **缓存支持**:支持自定义缓存驱动,可扩展Redis等
- **错误重试**:智能错误重试机制,提高接口调用成功率
- **类型安全**:修复所有类型声明问题,提升代码质量
- **通用内存管理**:自动适配传统PHP、Workerman、Swoole等常驻内存框架
### 🛠 易于使用
- **统一入口**:通过`\We::`静态方法统一创建各种功能实例
- **向后兼容**:完全保持原有API和参数,无需修改现有代码
- **文档完善**:提供详细的使用文档和示例代码
- **社区支持**:活跃的社区和持续的技术支持
## 注意事项
1. 确保配置参数完整且正确,尤其是 `appid` 和 `appsecret`
2. 如果使用支付相关功能,请确认支付参数(如 `mch_id` 和证书路径)配置无误
3. 异常处理代码建议优化为日志记录,方便后续问题排查
4. 生产环境建议使用HTTPS传输
5. 定期更新到最新版本以获得安全修复和功能改进
- 项目介绍
- 功能模块总览
- 开发指南
- 常见问题解答
- 性能优化指南
- 安全防护指南
- 开发指南
- 环境准备及安装使用
- 接口实例及配置参数
- 目录结构及文件描述
- 推送事件及消息回复
- 生成带参数的二维码
- 媒体素材图文管理
- 微信服务号开发
- 客服消息管理
- 模板消息管理
- 基础菜单管理
- 个性化菜单管理
- 网页授权管理
- 网页JSSDK开发
- 标签管理
- 用户标签操作
- 模板管理
- 模板消息发送
- 临时素材管理
- 永久素材管理
- 卡券管理
- 卡券核销
- 卡券营销
- 蓝牙摇一摇周边
- 扫一扫管理
- 微信小程序开发
- 开发指南
- 数据解密
- 二维码生成
- 模板消息
- OCR服务
- 内容安全检测
- 物流订单管理
- 物流查询服务
- 直播间管理
- 直播商品管理
- 生物认证
- 图像处理
- 导购助手
- 运费险
- 服务市场
- 地址位置
- 插件管理
- 数据统计
- 企业微信开发
- 开发指南
- 通讯录管理
- 消息推送
- 部门基础管理
- 部门成员管理
- 用户基础管理
- 用户批量管理
- 应用管理
- 身份验证
- 完整API接口
- 微信支付开发
- 公众号支付
- V2统一下单
- V3统一下单
- 客户端发起支付
- 查询订单
- 关闭订单
- 申请退款
- 查询退款
- 支付通知
- 红包管理
- V3订单管理
- V3高级功能
- 支付宝支付开发
- 开发指南
- App支付
- 网站支付
- 手机支付
- 扫码支付
- 刷卡支付
- 转账
- 账单下载