Skip to main content

自动化和 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

  1. 登录 cPanel
  2. 进入计划任务(Cron Jobs)
  3. 命令字段中输入:
    /usr/bin/php -q /home/YOUR_USER/public_html/crons/cron.php
  4. 选择频率:每 5 分钟
  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 是否正确运行:

  1. 在 WHMCS 管理后台,进入工具活动活动日志
  2. Cron 类型筛选
  3. 验证是否有最新条目(每 5 分钟一次)

如果超过 15 分钟没有条目出现,说明 cron 未配置或未运行。检查服务器端配置和 PHP 日志中的任何错误消息。