ARTICLE DETAIL

建站实战干货

来自一线的建站与推广经验沉淀,每一条都经过真实交付验证。

宝塔安装 SourceGuardian 教程

2026/8/14 13:46:01 拓冰建站 浏览量
宝塔安装 SourceGuardian 教程 适用对象购买了基于 SourceGuardian 加密的 PHP 程序微擎模块、易优 CMS 插件、ShopNC 商城、快威等的站长。一句话结论宝塔面板的 PHP 扩展列表里找到sourceguardian点一键安装全程不超过 2 分钟。下文附带版本对照、手动安装方案以及加密端工具配置说明。一、为什么需要装 SourceGuardianSourceGuardian简称 SG是 PHP 领域最主流的源码加密方案。大量第三方程序和商业模块为了防止核心代码被反编译或盗用都会用 SG 对.php文件做加密处理。加密后的文件头部带有sg_load(...)特征码普通 PHP 运行时无法识别。如果服务器没装对应的 Loader即ixed.*扩展访问网站会报This protected script was encoded with SourceGuardian and requires a SourceGuardian loader ixed. to be installed.中文环境下通常显示“产品使用提示未安装 SourceGuardian 组件。”原理清楚了这一步也就不难加密端用 SG 把源码封装了运行端你的服务器必须装对应 Loader 才能解包执行。装 Loader 不是可选是必须。二、加密版本和 Loader 版本必须一致这是铁律SourceGuardian 有多个版本不同版本对 PHP 的支持范围不一样。选错版本必然报 “Incompatible loader version”。代码卫士 SG16 Pro 界面给出了完整的版本对照表可以直接作为选型参考加密版本 支持的 PHP 版本 是否支持虚拟机SG11 PHP 4.4 ~ 7.4 否SG12 PHP 4.4 ~ 8.0 否SG13 PHP 5.3 ~ 8.1 否SG14 PHP 5.3 ~ 8.2 否SG15 PHP 5.3 ~ 8.3 否SG16 PHP 5.3 ~ 8.4 否SG16 Pro PHP 5.3 ~ 8.4 是选版本遵循两条原则程序用什么版本加密服务器就装什么版本的 Loader。SG14 加密的程序必须装 SG14 Loader装 SG11 或 SG12 都会报错。新 PHP 版本建议用新 Loader。PHP 8.x 环境直接用 SG16 或 SG16 Pro向前兼容覆盖范围最宽。SG16 Pro 还支持虚拟机保护下面细说。三、宝塔面板一键安装推荐宝塔已经把 SourceGuardian Loader 集成进 PHP 扩展列表无需编译无需手动下载。代码卫士的界面里也专门标了这一提示宝塔面板可在 PHP 扩展中一键安装 SourceGuardian Loader。第 1 步确认 PHP 版本登录宝塔面板 → 左侧网站 → 找到目标网站 → 点击设置 → 顶部PHP 版本选项卡记下当前版本号比如 8.2。第 2 步安装扩展进入该 PHP 版本的设置页面。切换到“安装扩展”选项卡。在列表中找到sourceguardian部分面板显示ixed或sg11点击“安装”。等待安装完成点击“重启”让 PHP-FPM 重新加载扩展。通常 1 分钟内完成。第 3 步验证在网站根目录创建phpinfo.php?phpphpinfo();?浏览器访问后搜索sourceguardian能看到扩展信息块即表示安装成功。验证完记得删除该文件避免泄露服务器环境。四、手动安装下载文件、上传扩展目录、修改 php.ini部分老版本宝塔或自定义编译的 PHP 环境可能没有内置一键扩展此时需要手动上传ixed文件。1. 获取 ixed 文件访问程序供应商报错页面上的 “Click here” 链接会自动检测当前环境并给出匹配的 ixed 下载。去 SourceGuardian 官网运行在线检测脚本自动匹配 PHP 版本、操作系统、线程安全模式。加密工具平台在配置界面通常也会附带 Loader 下载入口。文件名形如ixed.8.0.linLinux或ixed.7.4.dllWindows。2. 上传到扩展目录宝塔面板 → 文件菜单进入扩展目录/www/server/php/80/lib/php/extensions/no-debug-non-zts-20200930/具体路径可以用命令确认php-i|grepextension_dir3. 修改 php.ini宝塔 → “PHP 管理” → “配置文件”在末尾追加以 PHP 8.0 为例zend_extension /www/server/php/80/lib/php/extensions/no-debug-non-zts-20200930/ixed.8.0.lin点击重启保存。4. 验证同样用phpinfo()检查扩展是否已加载。五、Linux 下 hybrid 模式需要额外配置这一步容易被忽略。界面专门提示了Linux 环境下如果 PHP 使用 hybrid 模式编译需要在 php.ini 中额外添加sourceguardian.enable_vm_hybrid1添加位置同样在宝塔 → “PHP 管理” → 配置文件末尾保存后重启 PHP-FPM。Windows 和 macOS 平台不受此限制无需额外配置。六、报错速查表从 Loader 版本不匹配到 hybrid 未配置报错信息 原因 解决办法Incompatible loader version Loader 版本和加密版本不匹配 按对照表重新选版本重装encoded with newer version 加密版本高于 Loader 升级 Loader如 SG11 → SG14Loader 无法加载 Windows 装了 .lin或 ZTS/NTS 不匹配 下载对应 .dllphpinfo 里 Thread Safety enabledZTSdisabledNTS多站点一个能用一个不能用 每个 PHP 版本需单独装扩展 为每个 PHP 版本分别安装Linux 部署异常 hybrid 模式未配置 php.ini 添加sourceguardian.enable_vm_hybrid1七、从安装 Loader 到加密交付代码卫士 SG16 Pro 功能详解到这里 Loader 装好了别人的加密程序能正常跑了。但如果你自己也在做商业交付开发商城系统卖给客户、做私有化部署的 SaaS 模块、或者授权制插件那你的核心源码同样面临被反编译、被二次倒卖的风险。这时候你需要的是加密端工具。SourceGuardian 官方授权体系门槛较高普通个人开发者和中小团队用起来并不方便。国内有不少轻量替代方案其中代码卫士 SG16 Prophp.x5.chat是我自己在用的。仅参考结合它的加密配置界面整理出对商业开发者比较实用的几个功能点1. 加密模式标准加密 vs 虚拟机 字节码混淆加密模式一栏提供两个选项普通版 - 标准加密即 SourceGuardian 原生的文本级保护上手简单。Pro 版 - 虚拟机 字节码混淆将 PHP 源码编译成字节码在虚拟机中解释执行。攻击者拿到文件看到的也是字节码而不是源码安全等级明显提升。该工具标注这项功能仅 SG16 Pro 支持其他版本都不支持。如果程序倒卖风险较高可考虑 Pro 模式。2. 版本选择SG11 ~ SG16 Pro 全覆盖界面上一次列出全部版本选项SG16 Pro (推荐) SG16 SG15 SG14 SG13 SG12 SG11配套有完整的 PHP 版本对照表见本文第二节不必去翻外部文档。3. PHP 版本多选加密时可以从 PHP 5.3 ~ 8.4 中勾选任意组合同一个文件兼容多个 PHP 版本。部署方不管跑的是 7.4 还是 8.3加密文件都能正常执行。这点对需要给多个客户交付、环境各异的开发者比较实用。4. 服务器锁定域名、IP、MAC 地址、机器 ID锁定选项这一栏支持四项绑定域名限制支持通配符比如*.example.com匹配shop.example.com和admin.example.com。IP 地址限定服务器出口 IP。MAC 地址绑定网卡硬件地址。机器 ID绑定服务器唯一标识。这几项可以组合使用。典型场景卖一套系统给客户绑定客户的域名和 IP客户换了服务器需要重新激活有效防止一套授权被复制到多台机器。5. 外部许可证管理.lic 文件外部许可证这一栏提供了完整的授权分发能力启用后加密文件需要配合.lic许可证文件才能运行。在生成许可证页面创建许可证绑定项目 ID 和密码与加密时设置的完全一致。支持单独给客户生成许可证而不是把文件直接交付。对订阅制、年费制、按实例收费的商业模式较为适用。客户到期续费重新签发.lic即可不续费就收回无需远程登录服务器改文件。6. 错误处理风格中文提示 vs 默认英文错误处理风格一栏可选中文提示。部署方装错 Loader 或许可证过期时看到的是中文报错而不是满屏英文。能减少客服解释的工作量。对方不用翻译就知道该装哪个版本的 Loader。7. 版权注释加密时可在文件头部添加自定义注释比如禁止反编译或写上你的公司信息。本身不增加防护但被破解或盗用时能起到声明作用。8. 上传方式与限制界面明确标注了使用边界不需要装完了才发现加密失败仅支持 ZIP 压缩格式。单包最大 5MB。单次最多 100 个 PHP 文件。文件名不能包含中文字符建议使用英文和数字。9. 宝塔兼容界面直接标了提示宝塔面板可在 PHP 扩展中一键安装 SourceGuardian Loader。前面教程就是基于这条提示写的。总结纯自用场景装好 Loader 跑通别人的加密程序即可若涉及商业交付、授权制软件或私有化部署加密端工具通常需要兼顾混淆强度、服务器绑定与许可证分发。代码卫士 SG16 Pro 在这几项上的组合相对完整可作为选型参考项目地址php.x5.chat。本文整理自代码卫士 SG16 Pro 加密工具界面功能说明及相关资料。如遇本文未覆盖的报错可以提供 PHP 版本、Loader 文件名和完整报错信息进一步排查。