news 2026/8/14 13:46:01

宝塔安装 SourceGuardian 教程

作者头像

张小明

前端开发工程师

1.2k 24
文章封面图
宝塔安装 SourceGuardian 教程

适用对象:购买了基于 SourceGuardian 加密的 PHP 程序(微擎模块、易优 CMS 插件、ShopNC 商城、快威等)的站长。
一句话结论:宝塔面板的 PHP 扩展列表里找到sourceguardian点一键安装,全程不超过 2 分钟。下文附带版本对照、手动安装方案以及加密端工具配置说明。


一、为什么需要装 SourceGuardian?

SourceGuardian(简称 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 步:安装扩展

  1. 进入该 PHP 版本的"设置"页面。
  2. 切换到“安装扩展”选项卡。
  3. 在列表中找到sourceguardian(部分面板显示ixedsg11),点击“安装”
  4. 等待安装完成,点击“重启”让 PHP-FPM 重新加载扩展。

通常 1 分钟内完成。

第 3 步:验证

在网站根目录创建phpinfo.php

<?phpphpinfo();?>

浏览器访问后搜索sourceguardian,能看到扩展信息块即表示安装成功。验证完记得删除该文件,避免泄露服务器环境。


四、手动安装:下载文件、上传扩展目录、修改 php.ini

部分老版本宝塔或自定义编译的 PHP 环境可能没有内置一键扩展,此时需要手动上传ixed文件。

1. 获取 ixed 文件

  • 访问程序供应商报错页面上的 “Click here” 链接,会自动检测当前环境并给出匹配的 ixed 下载。
  • 去 SourceGuardian 官网运行在线检测脚本,自动匹配 PHP 版本、操作系统、线程安全模式。
  • 加密工具平台在配置界面通常也会附带 Loader 下载入口。

文件名形如ixed.8.0.lin(Linux)或ixed.7.4.dll(Windows)。

2. 上传到扩展目录

宝塔面板 → "文件"菜单,进入扩展目录:

/www/server/php/80/lib/php/extensions/no-debug-non-zts-20200930/

具体路径可以用命令确认:

php-i|grepextension_dir

3. 修改 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_hybrid=1

添加位置同样在宝塔 → “PHP 管理” → "配置文件"末尾,保存后重启 PHP-FPM。

Windows 和 macOS 平台不受此限制,无需额外配置。


六、报错速查表:从 Loader 版本不匹配到 hybrid 未配置

报错信息 原因 解决办法
Incompatible loader version Loader 版本和加密版本不匹配 按对照表重新选版本重装
encoded with newer version 加密版本高于 Loader 升级 Loader(如 SG11 → SG14)
Loader 无法加载 Windows 装了 .lin,或 ZTS/NTS 不匹配 下载对应 .dll;phpinfo 里 Thread Safety enabled=ZTS,disabled=NTS
多站点一个能用一个不能用 每个 PHP 版本需单独装扩展 为每个 PHP 版本分别安装
Linux 部署异常 hybrid 模式未配置 php.ini 添加sourceguardian.enable_vm_hybrid=1


七、从安装 Loader 到加密交付:代码卫士 SG16 Pro 功能详解

到这里 Loader 装好了,别人的加密程序能正常跑了。但如果你自己也在做商业交付(开发商城系统卖给客户、做私有化部署的 SaaS 模块、或者授权制插件),那你的核心源码同样面临被反编译、被二次倒卖的风险。

这时候你需要的是加密端工具。SourceGuardian 官方授权体系门槛较高,普通个人开发者和中小团队用起来并不方便。国内有不少轻量替代方案,其中代码卫士 SG16 Pro(php.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.comadmin.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 文件名和完整报错信息,进一步排查。

版权声明: 本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若内容造成侵权/违法违规/事实不符,请联系邮箱:809451989@qq.com进行投诉反馈,一经查实,立即删除!
网站建设 2026/8/14 13:44:51

最小二乘法的解析

假设&#xff1a;人饭量 X (碗)体重 Y (斤)小明162 &#xff08;比预期重了2斤&#xff09;小红268 &#xff08;比预期轻了2斤&#xff09;小刚382 &#xff08;比预期重了2斤&#xff09;数据&#xff08;1,62&#xff09;、&#xff08;2,68&#xff09;、&#xff08;3,82&…

作者头像 李华
网站建设 2026/8/14 13:43:07

告别广告与付费墙:开源小说阅读器 ReadCat 的纯净阅读指南

告别广告与付费墙&#xff1a;开源小说阅读器 ReadCat 的纯净阅读指南 【免费下载链接】read-cat 一款免费、开源、简洁、纯净、无广告的小说阅读器 项目地址: https://gitcode.com/gh_mirrors/re/read-cat 你是否厌倦了满屏广告弹窗、处处付费墙的阅读 App&#xff1f;…

作者头像 李华
网站建设 2026/8/14 13:40:05

政策窗口期仅剩3年!零碳工厂申报在即,企业能碳数字化建设刻不容缓!

背景随着国家“双碳”战略进入纵深推进阶段&#xff0c;国内绿色低碳发展体系持续完善&#xff0c;全国碳市场稳步扩容落地&#xff0c;能耗双控正向碳排放双控全方位、系统性转型。同时&#xff0c;《重点用能单位节能管理办法》《工业领域碳达峰实施方案》等一系列专项政策相…

作者头像 李华