使用 –no-dev 确保仅安装生产依赖,避免加载开发工具,提升部署效率与安全性。

在生产环境中使用 composer 时,性能和安全性是关键考量。不恰当的配置或操作可能拖慢部署流程,甚至引入安全风险。以下是优化 Composer 在生产环境中的实用建议。
只安装必要依赖
生产环境不需要开发时的工具,如测试框架、编码规范检查器等。应明确区分生产与开发依赖。
- 使用 composer install –no-dev 命令,避免安装
require-dev中的包 - composer.json 中的依赖项精确,移除无用的包
- 定期审查依赖树,运行 composer why-unused(如已安装插件)清理冗余包
启用并配置 Composer 缓存
合理利用缓存可显著提升安装速度,减少网络请求。
- 设置系统级缓存目录,例如通过环境变量:export COMPOSER_CACHE_DIR=/var/cache/composer
- 确保该目录有足够权限和磁盘空间
- 在 CI/CD 或部署脚本中复用缓存,避免每次重新下载
锁定依赖版本并验证完整性
保持依赖一致性是安全与稳定的基础。
- 提交
composer.lock到版本控制,确保所有环境安装相同版本 - 在部署时运行 composer install 而非 update,防止意外升级
- 启用 HTTPS 协议下载包,Composer 默认已支持,确认未被禁用
提升安全性:校验与最小权限
减少攻击面,防止恶意代码注入。
- 定期运行 composer audit(Composer 2.5+)检查已知漏洞
- 避免在生产服务器上执行 composer update
- 以非 root 用户运行 Composer,限制文件系统权限
- 考虑使用 composer install –prefer-dist 优先下载压缩包而非克隆源码
基本上就这些。正确配置后,Composer 在生产环境中可以快速、安全地完成依赖管理,不会成为瓶颈或风险点。