把明文 PHP 源码加密成 swoole_loader 可以直接加载执行的文件 ——
与官方 Swoole Compiler 同类,但源码不出本机(完全离线)。
加密器自带 Python 与 PHP 7.0–8.4 运行时,客户机什么都不用装;
产物可绑定域名 / IP / 到期,授权可绑定机器码 / 有效期。
| 平台 | 文件 | 大小 | 下载 |
|---|---|---|---|
| Windows x64 推荐 |
swcenc-2.0.0-win64-setup.exe —— 双击安装,自动建桌面与开始菜单快捷方式
sha256 载入中… |
43 MB | 下载安装包 · sha256 |
| Windows x64 免安装 |
swcenc-2.0.0-win64.zip —— 解压即用,运行 bin\swcenc.exe
sha256 载入中… |
72 MB | 下载 · sha256 |
| Linux x86_64 | swcenc-2.0.0-linux-x86_64.tar.gz —— 解压即用,运行 ./bin/swcenc
sha256 载入中… |
204 MB | 下载 · sha256 |
.so(原生机器码),Windows 上是 .pyc 字节码;
授权校验也烘焙在编译产物里面(改环境变量、改文件都绕不过)。
引擎在 Linux 上是 Cython 编译的 .so、Windows 上是 .pyc; 授权校验烘焙在编译产物里,环境变量与文件替换都绕不过。
Linux:自带 Python 3.12 + PHP 7.0–8.4 + 自带 glibc 与全部依赖库;
Windows:自带免安装 Python + 官方 PHP NTS x64。
客户机不需要装 Python / PHP / 任何运行库。
--domains 绑域名、--ips 绑来访 IP、--expire 绑到期日。
域名/IP 只拦 Web(cron、队列照常跑),到期则 Web 与 CLI 都拦。
机器码 + 有效期 + 版本权益,离线校验(RSA-2048 签名), 客户机不需要联网,你也不需要部署授权服务器。
tar xzf swcenc-2.0.0-linux-x86_64.tar.gz -C /opt
cd /opt/swcenc-2.0.0-linux-x86_64
./bin/swcenc machine # ① 取机器码 → 在本站「申请授权」
# 把签发给你的 license.json 放到 license/license.json
./bin/swcenc license # ② 确认「✅ 授权有效」
./bin/swcenc doctor # ③ 环境自检(内置运行时 / 可用组合)
# 加密整目录,并绑定域名与到期(--verify 会真的用 loader 跑一遍)
./bin/swcenc batch ./app -o ./app_enc --php 8.3 \
--domains "customer.com,*.customer.com" --expire 2027-01-01 --verify
Windows:双击 swcenc-2.0.0-win64-setup.exe 安装,桌面会出现
「swcenc 加密器」快捷方式 —— 双击打开是中文菜单(自检 / 机器码 / 加密单文件 / 加密整个目录),
不需要记命令。命令行同样可用:"%LOCALAPPDATA%\swcenc\bin\swcenc.exe" doctor。
Windows 上不做本地 loader 验证(loader 是 Linux 扩展),产物请在目标服务器验证;
需要逐次验证的 --pro 产物建议在 Linux 机器上打包。
swcenc machine 拿到机器码 →
② 在下面提交 → ③ 收到 license.json 后放进发行包 license/ 目录(或 ~/.swcenc/)。
| README.md | 产品说明:能力、命令、绑定语义、零依赖原理、FAQ |
| USAGE.md | 命令行速查与示例 |
| INSTALL.md | 安装、授权、目标机需要什么 |
| RELEASE-2.0.0.md | 本次发布内容与验证清单 |
| 产物能跑在哪些 PHP 上? | Swoole 是单版本加密:产物只能跑在与加密时相同的 PHP 主次版本上。 要同时支持 7.4 与 8.3,就分别打包两次。 |
| loader 代数怎么选? | --loader-version 3.1|3.2 必须与目标机装的 loader 一致 —— 两代产物互不通用。
包内 engine/loader31、loader32 就是配套的 loader。 |
| PRO 产物为什么官方 loader 跑不了? | Pro 层是独立保护,只能配 swoole_loader_pro 加载;用官方 loader 会段错误。
--pro 默认会打开反分析自检层与粉碎性重组。 |
| 绑定域名后 cron 会挂吗? | 不会。域名/IP 只对 Web 请求生效,CLI 默认放行;要连 CLI 一起绑加 --bind-cli。
到期是绝对限制,Web 与 CLI 都会拦。 |
| 换机器了怎么办? | 在新机器上跑 swcenc machine,把新机器码发来重签一份即可(授权按机器码绑定)。 |