Laravel运行Enlightn时出现站点宕机及内存占用过高问题
解决Laravel Enlightn命令内存占用过高问题
以下是几种可行的优化方案:
限制扫描范围
Enlightn默认会遍历整个应用目录,你可以通过配置缩小扫描范围,排除无需检查的目录(如依赖包、缓存文件目录)。在项目根目录的config/enlightn.php中修改参数:'paths' => [ app_path(), config_path(), database_path(), resource_path('views'), routes_path(), ], 'exclude_paths' => [ storage_path('framework/cache'), storage_path('logs'), base_path('vendor'), ],临时调高PHP内存限制
执行命令时临时增加PHP内存配额,避免因内存不足引发进程崩溃,且不会影响日常应用运行:php -d memory_limit=2G artisan enlightn数值可根据服务器可用内存调整,建议不超过可用内存的70%。
拆分执行检查任务
不要一次性运行全量检查,拆分执行不同类型的分析:- 仅运行性能检查:
php artisan enlightn --performance - 仅运行安全检查:
php artisan enlightn --security - 仅运行代码质量检查:
php artisan enlightn --code-quality
拆分后单次任务的内存负载会显著降低。
- 仅运行性能检查:
优化服务器PHP环境
- 确保使用Enlightn推荐的PHP版本(PHP 7.4+,优先8.0及以上),新版本PHP的内存管理更高效。
- 启用OPcache扩展,减少重复编译PHP代码带来的内存消耗。
升级Enlightn到最新版本
旧版本可能存在内存泄漏问题,执行以下命令更新:composer require enlightn/enlightn --update-with-dependencies官方大概率已修复内存占用过高的bug。
内容的提问来源于stack exchange,提问作者Pratiksha Parghi
相关产品推荐
相关产品推荐

