类型:自动化平台
简介:专为Web托管公司、域名注册商及在线商店提供全面的管理解决方案。
WHMCS与大多数使用PHP和MySQL®的Web服务器环境兼容。但是在安装或更新WHMCS之前,必须确保系统设置符合所选版本的要求。例如在从WHMCS8.9升级到WHMCS 8.11之前,需要确保环境符合 WHMCS 8.10的所有系统要求。
如果打算使用自动更新工具(Automatic Updater),请确保系统满足其要求。请仔细阅读每个版本的发行说明,错误的升级顺序可能会导致严重问题。同时务必查看Marketplace列表,确保自定义模块的要求也已满足。
一、WHMCS支持的版本
WHMCS 当前支持以下版本:
WHMCS 版本 | 当前等级 | 发行说明 | 预期生命周期终止日期 |
---|---|---|---|
WHMCS 8.12 | 试用版 | 8.12 发行说明 | 2026年1月31日 |
WHMCS 8.11 | 正式发布 | 8.11 发行说明 | 2025年9月30日 |
WHMCS 8.10 | 长期支持 | 8.10 发行说明 | 2025年4月30日 |
WHMCS 8.9 | 长期支持 | 8.9 发行说明 | 2025年1月31日 |
这些版本目前处于活跃开发阶段。所有已达到生命周期终止(EOL)的版本将不再维护或发布更新。如果正在使用 WHMCS 的 EOL 版本,建议尽快升级到受支持的版本。
二、WHMCS系统要求
为了成功运行当前支持的 WHMCS 版本,系统必须符合以下要求:
项目 | 必填要求 | 推荐配置 |
---|---|---|
操作系统 | Linux® | 不适用 |
Apache® Web 服务器 | Apache 2.x 版 | 不适用 |
Apache 扩展 | mod_rewrite | 不适用 |
PHP 版本 | PHP 7.2、7.3、7.4 或 8.1(WHMCS 8.0 至 8.10) | PHP 7.2、7.3、7.4、8.1 或 8.2(WHMCS 8.11 及更高版本) |
ionCube 加载器版本 | 10.2.0(PHP 7.2)、10.3.1(PHP 7.3)、10.4.3(PHP 7.4)、12.0.1(PHP 8.1)、13.0.2(PHP 8.2) | 不适用 |
PHP 扩展 | 必须启用所有默认编译扩展: | |
cURL 7.36 或更高版本(支持 SSL) | ||
GD2 图像库 | ||
IMAP 协议 | ||
ionCube 加载器(详见下文) | ||
JSON 格式 | ||
PDO_MySQL(必须使用 mysqlnd 编译) | ||
反射、XML、BC 数学、文件信息、GMP、图标、国际、mbstring | ||
OpenSSL 1.0.1c 或更高版本(支持 TLS 1.2 或更高版本) | ||
SOAP | ||
PHP 内存限制 | 64MB | 128MB |
MySQL 版本 | 5.2 | 8.0 |
建议使用上述软件和扩展的最新稳定版本。内存和磁盘空间要求因安装的规模和活动水平而异。
三、WHMCS系统环境
WHMCS专为使用标准 Linux 文件系统和 cron 子系统的传统 LAMP(Linux、Apache、MySQL、PHP)环境设计。验证了WHMCS是否能够在基于 Linux 的 Apache Web 服务器环境中运行。其他环境(如基于 Windows® 的配置)可能会遇到 WHMCS 技术支持不支持的兼容性问题。
尽管某些 WHMCS 安装成功运行于 NGINX 环境,但对于这些系统,只能提供有限的支持。如果必须使用非 LAMP 环境,请咨询托管提供商或系统管理员,以评估该环境的可行性和长期需求。
四、Apache处理程序
可以选择虚拟主机处理程序或服务器范围的处理程序。
1、虚拟主机处理程序(如 suPHP 或 mod_ruid2)根据域名以特定用户身份执行 PHP 进程。
2、服务器范围的处理程序(如 CGI 或 mod_php)以同一用户身份执行所有 PHP 代码。
当选择 PHP 处理程序时,请确保服务器上没有其他应用程序以与 WHMCS 相同的用户身份执行 PHP 代码。
五、Apache配置指令
WHMCS使用以下文件中的配置指令:
.htaccess文件:此文件允许内部路由系统运行并创建友好的 URL。它还限制对目录中的文件的直接访问,同时允许 WHMCS 访问其库。
六、MySQL数据库
WHMCS 需要 MySQL 数据库才能成功运行。但像 MariaDB® 这样的二进制兼容替代方案也可能适用于某些安装。
七、WHMCS数据库权限
对于 WHMCS 安装过程,需要为数据库授予以下权限:
- ALTER
- DROP
- LOCK TABLES
- CREATE
- INDEX
- SELECT
- DELETE
- INSERT
- UPDATE
对于日常操作,可以通过限制以下权限来加强数据库安全性:
ALTER、CREATE、DROP、INDEX。这些权限足以支持 WHMCS 的安装、更新,以及模块的激活或停用。
八、加密数据库连接
从 WHMCS 8.8 版本开始,我们引入了对加密 MySQL 连接的支持。可以通过以下配置变量,在 configuration.php 文件中启用此功能:
- db_tls_ca — CA 证书文件的路径(例如:/var/www/html/whmcs/ca.pem)
- db_tls_ca_path — 包含 CA 证书文件的目录路径;
- db_tls_cert — 客户端证书的路径;
- db_tls_cipher — 用于 SSL 加密的一个或多个密码,采用 OpenSSL 兼容格式;
- db_tls_key — 客户端密钥的路径;
- db_tls_verify_cert — 启用(enabled)或禁用(disabled)服务器证书验证。
如果启用 db_tls_verify_cert,则该配置值必须与证书的公共名称(CN)或为证书指定的使用者备用名称(SAN)相匹配。否则,将收到连接错误信息。具体错误内容为:“Could not connect to database”。
九、配置MySQL加密连接
如果主机名与证书中的公共名称或 SAN 不匹配,并且 db_tls_verify_cert 被启用,将会遇到连接错误。要解决此问题,请提供一个匹配公共名称(CN)或备用名称(SAN)的新证书。可以在安装之前、安装过程中或安装后使用命令行或基于浏览器的安装方法来配置这些变量。
十、PHP配置与要求
为了确保 WHMCS 能稳定运行,建议使用正在积极维护且安全修复及时的 PHP 版本。如果 PHP 配置存在问题,可能会导致严重故障或阻止某些功能的正常运行。
特别需要注意的是,如果系统的 cron 使用的 PHP 版本与 Web 服务器的 PHP 版本不匹配,可能会看到警告信息。某些功能(如自动更新)可能对特定的 PHP 设置有额外要求。
十一、PHP扩展
除了 PHP 默认的编译扩展外,WHMCS 还需要以下扩展支持:
- PDO
- mysqlnd
- JSON
- libxml
- DOM
- Fileinfo
如果某些扩展未出现在列表中,但它们已在 PHP 版本中默认编译,则无需担心。请确保不要禁用这些扩展。
特别注意:为了符合 PCI 合规性要求,必须启用 TLS 1.2 协议。同时,请不要使用 libmysqlclient 编译的 PDO_MySQL,而必须使用 mysqlnd 进行编译。
十二、文件权限设置
WHMCS 所需的文件权限设置取决于具体系统配置。对于大多数 cPanel 和 WHM 服务器,建议使用以下权限设置:
- configuration.php — 400(可读)
- /crons/pipe.php — 755(可执行)
- 所有其他 PHP 文件 — 644(可读,仅所有者可写)
- 所有目录 — 755(可执行,仅所有者可写)
十三、PHP进程的所有者和组
PHP 进程的所有者和组也必须与用户目录名称相同。例如,在 cPanel 和 WHM 环境中,PHP 进程的所有者和组将是 username,并且在 /home/username/public_html/ 下的所有文件和目录应该由该用户拥有。
推荐的文件和目录权限设置:
- configuration.php — 400(可读)
- /attachments — 777(可写)
- /downloads — 777(可写)
- /templates_c — 777(可写)
- 所有其他文件 — 644(所有者可写,其它可读)
- 所有其他目录 — 755(所有者可写,其它可读和可执行)
特殊情况:
- 对于使用 suPHP 或 phpSuExec 的安装,以上权限设置不适用;
- 如果使用 DSO(动态共享对象)作为 PHP 处理程序,则文件权限应设置为 644。