Zend Encoder (現稱 Zend Guard) 將 PHP 原始碼編譯為中間碼,經過混淆、加密,產出二進位檔案。執行時需安裝 Zend Loader (免費) 於 PHP 環境,透明解碼執行,達到原始碼保護與效能提升雙重效果。
zend_guard.lic 綁定單一機器# 1. 解壓縮至 /usr/local/ZendGuard
tar xzf ZendGuard-7.0.0-linux-glibc23-x86_64.tar.gz -C /usr/local/
# 2. 複製 License
cp zend_guard.lic /usr/local/ZendGuard/
# 3. 編碼專案
/usr/local/ZendGuard/bin/zendenc --encode -o /var/www/encoded_project /var/www/source_project
# 4. 安裝 Zend Loader (執行端)
# PHP 5.6+ 通常內建或從套件管理器安裝 php-zend-loader
# php.ini 載入
zend_extension=/usr/lib/php/modules/zend_loader.so
zend_loader.enable=1
zend_loader.license_path=/usr/local/ZendGuard/zend_guard.lic
| 方案 | 保護強度 | 效能影響 | 維護成本 | 備註 |
|---|---|---|---|---|
| Zend Guard | 高 (商業級) | 略降 (解碼開銷) | 高 (授權費、版本綁定) | 企業級產品交付首選 |
| ionCube Encoder | 高 | 略降 | 中 | 支援 PHP 8.x、功能豐富 |
| Swoole Compiler | 中高 | 無 (編譯為機器碼) | 低 | 需 Swoole 環境、生態較新 |
| 原始碼授權合約 | 法律層面 | 無 | 低 | 開源/商業授權模式 |
| 核心邏輯移至 C/C++ 擴充/Go 微服務 | 極高 (無原始碼) | 提升 | 高 (開發成本) | 架構層面解決 |