配置说明
本章详细介绍授权系统的所有配置项及其含义,便于管理员精准控制平台行为。
基础设置(site_*)
| 配置项 | 类型 | 默认值 | 说明 |
site_name | string | License Server | 站点名称,显示在标题、Logo 旁 |
site_logo | URL | — | 站点 Logo,建议 200×60 PNG |
site_keywords | string | — | SEO 关键词 |
site_description | string | — | SEO 描述 |
site_icp | string | — | ICP 备案号,页脚显示 |
site_announcement | HTML | — | 首页公告 |
site_close | 0/1 | 0 | 是否关闭站点(关闭后只显示公告页) |
site_close_reason | string | — | 关闭原因 |
支付设置(epay_*)
第一通道(必填)
| 配置项 | 说明 |
epay_url | 易支付网关地址,例如 https://pay.example.com/ |
epay_pid | 商户 ID |
epay_key | 商户密钥 |
epay1_pay_type | 支付方式(互斥):
alipay = 支付宝
wechat = 微信
none = 全部禁用 |
第二通道(可选)
| 配置项 | 说明 |
epay2_enabled | 0/1,是否启用第二通道 |
epay2_url | 第二通道网关地址 |
epay2_pid | 第二通道商户 ID |
epay2_key | 第二通道密钥 |
epay2_pay_type | 支付类型,必须与第一通道不同 |
典型配置示例:
- 只用微信:
epay1_pay_type=wechat,epay2_enabled=0
- 微信 + 支付宝双通道:
epay1_pay_type=wechat,epay2_enabled=1,epay2_pay_type=alipay
- 只用支付宝:
epay1_pay_type=alipay,epay2_enabled=0
订单设置
| 配置项 | 说明 | 默认值 |
order_timeout_minutes | 订单未支付超时时间(分钟) | 30 |
pay_confirm_enabled | 支付确认页面是否启用 | 0 |
pay_confirm_title | 支付确认页标题 | — |
pay_confirm_content | 支付确认页内容(HTML) | — |
安全设置
| 配置项 | 说明 | 默认值 |
login_max_attempts | 登录失败最大次数 | 5 |
login_lockout_minutes | 失败锁定时长(分钟) | 15 |
remember_login_days | 记住登录有效期(天) | 7 |
password_min_length | 密码最小长度 | 8 |
password_require_complexity | 密码是否要求复杂度 | 1 |
邮件设置(smtp_*)
| 配置项 | 说明 |
smtp_host | SMTP 服务器地址(如 smtp.qq.com) |
smtp_port | SMTP 端口(SSL 通常 465) |
smtp_user | SMTP 用户名 |
smtp_pass | SMTP 密码(部分邮箱用授权码) |
smtp_secure | 加密方式:ssl / tls / 空 |
smtp_from | 发件人邮箱 |
smtp_from_name | 发件人名称 |
smtp_force_verify | 强制 SMTP 验证(推荐开启) |
smtp_use_phpmailer | 使用 PHPMailer(推荐) |
公告设置
公告支持三处位置:
- 首页:访问首页时显示
- 购买页:访问购买页时显示
- 用户中心:用户登录后显示
配置项:announce_home_enabled / announce_buy_enabled / announce_user_enabled 以及对应的 title / content。
系统设置
| 配置项 | 说明 |
debug_mode | 调试模式(开发时启用) |
maintenance_mode | 维护模式(后台可登录,前台关闭) |
cache_ttl_seconds | 缓存 TTL |
配置文件示例
一个完整的最小配置文件 inc/db.php:
<?php
// 数据库
define('DB_HOST', '127.0.0.1');
define('DB_NAME', 'license_server');
define('DB_USER', 'license_user');
define('DB_PASS', 'strong-password-here');
define('DB_CHARSET', 'utf8mb4');
// 安全
define('HMAC_SALT', 'random-32-char-string-aaaa-bbbb-cccc');
define('API_SECRET', 'another-random-32-char-string-dddd-eeee-ffff');
// 邮件(可选)
define('SMTP_HOST', 'smtp.qq.com');
define('SMTP_PORT', 465);
define('SMTP_USER', 'noreply@example.com');
define('SMTP_PASS', 'authorization-code-from-email');
define('SMTP_FROM', 'noreply@example.com');
define('SMTP_FROM_NAME', 'License Server');
密钥保管建议:
- 生产环境的
HMAC_SALT 和 API_SECRET 必须保密
- 定期轮换(建议每年一次)
- 不要把
inc/db.php 提交到 Git 仓库
- 修改后已签名的授权会失效(重签)