自动化和 Cron 任务
WHMCS 依赖一个主 cron 任务来执行所有自动流程:计费、续费、域名同步、发送邮件等。正确配置 cron 对 HostMyServers 注册商模块的正常运行至关重要。
配置主 Cron 任务
WHMCS cron 任务必须在您的服务器上每 5 分钟执行一次。从服务器控制面板(cPanel、Plesk 或直接通过 crontab)添加以下条目:
*/5 * * * * /usr/bin/php -q /path/to/whmcs/crons/cron.php
将 /path/to/whmcs/ 替换为 WHMCS 安装的绝对路径。
如果不确定路径,请通过 SSH 连接并在 WHMCS 根目录执行 pwd。在典型的 cPanel 设置中,通常为 /home/youruser/public_html/ 或类似路径。
通过 cPanel
- 登录 cPanel
- 进入计划任务(Cron Jobs)
- 在命令字段中输入:
/usr/bin/php -q /home/YOUR_USER/public_html/crons/cron.php
- 选择频率:每 5 分钟
- 点击添加 Cron 任务
通过 SSH / crontab
crontab -e
添加以下行:
*/5 * * * * /usr/bin/php -q /var/www/whmcs/crons/cron.php > /dev/null 2>&1
域名同步任务
除主 cron 外,WHMCS 还有一个专门用于域名同步的任务。它通过主 cron 自 动执行,但您也可以手动运行。
手动同步
从 WHMCS 管理后台:
工具 → 域名同步
此页面允许您:
- 立即运行完整同步
- 查看最新同步结果
- 识别 WHMCS 与 HostMyServers 之间状态或到期日期不同的域名
推荐频率
自动同步通过主 cron 每天触发一次。在大多数情况下这已足够。如果您管理大量域名或经常直接从 HostMyServers 客户区执行操作,可以提高频率:
0 */6 * * * /usr/bin/php -q /var/www/whmcs/crons/cron.php --do DomainStatusSync > /dev/null 2>&1
这将每 6 小时运行一次同步。
自动续费
WHMCS 根据每个域名的配置管理自动续费。标准流程如下:
| 到期前时间 | WHMCS 操作 |
|---|---|
| D-30 | 生成续费账单 |
| D-14 | 第 1 次客户邮件提醒 |
| D-7 | 第 2 次客户邮件提醒 |
| D-0 | 到期(如账单未支付) |
| D+x | 服务暂停(根据配置) |
HostMyServers 侧自动续费
默认情况下,模块不在 HostMyServers 侧启用自动续费(由 WHMCS 通过 API 触发续费)。如果您希望 HostMyServers 独立于 WHMCS 自动续费域名,请在 HostMyServers 客户区启用自动续费选项。
避免同时在 WHMCS 和 HostMyServers 客户区都启用自动续费,否则可能对同一域名进行双重计费和续费。
自动续费邮件
WHMCS 会在客户域名到期前自动发送提醒邮件。这些邮件使用在以下位置配置的模板:
设置 → 系统 → 邮件模板 → 域名类别
与 HostMyServers 域名相关的模板:
| 模板 | 触发器 |
|---|---|
Domain Expiry Notice | 到期前提醒(D-30、D-14、D-7) |
Domain Renewal Successful | 续费确认 |
Domain Transfer Initiated | 转入转移开始 |
Domain Transfer Completed | 转移完成 |
根据您的品牌和商业信息自定义这些模板。可用变量(域名、到期日期、付款链接等)在 WHMCS 编辑器中悬停字段时列出。
验证 Cron 正常运行
验证 cron 是否正确运行:
- 在 WHMCS 管理后台,进入工具 → 活动 → 活动日志
- 按 Cron 类型筛选
- 验证是否有最新条目(每 5 分钟一次)
如果超过 15 分钟没有条目出现,说明 cron 未配置或未运行。检查服务器端配置和 PHP 日志中的任何错误消息。