Laravel-Source-Encrypter 命令选项全解析:--source、--destination、--keylength、--force 的实战用法

📅 发布时间:2026/8/28 10:11:07
Laravel-Source-Encrypter 命令选项全解析:--source、--destination、--keylength、--force 的实战用法
Laravel-Source-Encrypter 命令选项全解析--source、--destination、--keylength、--force 的实战用法【免费下载链接】Laravel-Source-EncrypterLaravel and Lumen Source Code Encrypter项目地址: https://gitcode.com/gh_mirrors/la/Laravel-Source-EncrypterLaravel-Source-Encrypter 是一款面向 Laravel 和 Lumen6/7/8/9 版本的源代码加密工具它基于 phpBolt 将 PHP 源码加密后再运行有效保护核心商业逻辑不被直接查看。本文带你快速掌握php artisan encrypt-source命令的四个选项--source、--destination、--keylength、--force从零上手到实战组合一看就会。一、这个 Laravel 源代码加密器能做什么把项目中的 PHP 文件交给它它会在指定目录生成一份加密版代码副本。加密后的文件内部只保留一段解密调用bolt_decrypt直接打开源码看不到任何业务逻辑而程序运行时照常执行 ✅加密范围可配置默认加密app、database、routes三个目录输出目录可配置默认输出到encrypted目录密钥长度可配置默认 6 位官方推荐值非 PHP 文件自动跳过Blade 模板、静态资源等会以副本形式原样拷贝不影响部署核心命令实现位于 src/SourceEncryptCommand.php默认配置位于 config/source-encrypter.php。二、三步快速安装跑通加密命令Step 1安装 phpBolt加密能力由 phpBolt 扩展bolt.so提供Step 2通过 Composer 安装本包composer require --dev sbamtr/laravel-source-encrypterStep 3注册服务提供者Laravel 项目会自动注册无需额外操作Lumen 项目在bootstrap/app.php中手动注册SourceEncryptServiceProvider之后在项目根目录执行php artisan encrypt-source命令的四个选项定义如下这是后文全解析的依据选项作用示例--source要加密的文件或目录多个用英文逗号分隔app,routes,public/a.php--destination加密结果的输出目录encrypted--keylength加密密钥长度6--force输出目录已存在时强制删除重建不传值 小技巧如果不想每次都敲选项可以用vendor:publish发布配置文件 config/source-encrypter.php在里面把默认值写好之后直接裸跑命令即可。三、--source精准指定加密路径--source决定加密哪些代码。不传时读取配置中的默认值app、database、routes传入后支持逗号分隔多个路径文件、目录都能写# 只加密 app 目录 php artisan encrypt-source --sourceapp # 混合指定目录 单个文件 php artisan encrypt-source --sourceapp,routes,app/Http/Services/Payment.php⚠️ 注意路径必须真实存在否则命令会直接报错退出。所以把核心商业逻辑比如支付、订单模块单独列出加密比整个项目一刀切更灵活。四、--destination自由切换输出目录--destination决定加密结果放哪默认是项目根目录下的encrypted# 输出到 dist 目录方便直接作为部署产物 php artisan encrypt-source --destinationdist它的规则值得留意每次执行都会先删除旧的输出目录再重建保证产物干净、不残留历史文件。因此可以放心地反复加密不用担心旧文件干扰。五、--keylength设置加密密钥长度--keylength控制随机密钥的位数默认值为6官方推荐值# 使用 8 位密钥加密到 dist 目录 php artisan encrypt-source --destinationdist --keylength8每个文件都会使用一个独立随机密钥加密密钥位数越短密钥空间越小暴力破解的门槛越低因此不建议小于 6密钥长度属于安全冗余设置日常使用保持默认 6 即可需要更高保障时再调大六、--force无确认强制重建输出目录默认行为下如果--destination指定的目录已存在命令会交互询问Delete directory?需要你手动确认。这在 CI/CD 流水线或无人值守脚本中会卡住流程。加上--force即可跳过确认、直接删除重建php artisan encrypt-source --force 实战建议把--force写进部署脚本配合--destinationdist实现每次构建自动产出干净的加密版本。七、四个选项的实战组合速查命令效果php artisan encrypt-source全默认加密输出目录已存在时询问确认php artisan encrypt-source --force全默认加密输出目录已存在时自动删除重建php artisan encrypt-source --sourceapp仅加密app目录php artisan encrypt-source --destinationdist加密到dist目录php artisan encrypt-source --destinationdist --keylength8 --force8 位密钥 自定义目录 无人值守八、新手常见问题 FAQQ1运行提示Please install bolt.so说明 phpBolt 扩展未安装需要先安装bolt.so并确保 PHP 加载了它命令会同时打印当前 PHP 版本和扩展目录帮助排查。Q2Blade 模板、图片这些文件会被加密吗不会。非 PHP 扩展名包括blade.php的文件只是原样拷贝到输出目录命令会对这类文件给出一次性提醒。Q3加密后项目能直接跑吗输出目录保留了原有目录结构可整体替换源码部署但config/、.env、public/等默认不在加密范围部署时需自行合并。Q4选项和配置文件冲突时听谁的命令行选项优先于配置文件没传的选项才回落到 config/source-encrypter.php 中的默认值。这也是本文推荐默认值写配置、临时调整用选项的用法。 一句话总结--source定范围、--destination定位置、--keylength定强度、--force定自动化——掌握这四个选项你就能把 Laravel-Source-Encrypter 这套 Laravel 源代码加密工具用到最顺手。【免费下载链接】Laravel-Source-EncrypterLaravel and Lumen Source Code Encrypter项目地址: https://gitcode.com/gh_mirrors/la/Laravel-Source-Encrypter创作声明:本文部分内容由AI辅助生成(AIGC),仅供参考