Composer的status命令用于检查vendor目录中依赖包的本地修改情况,它能识别源码编辑、文件增删等变更,并提示“Source of this package is modified”;对于通过Git等VCS安装的包可精准检测改动,而zip包则受限;常用于团队开发、部署前检查和调试,有助于维护项目稳定性。

Composer 的 status 命令主要用于检查项目中通过 Composer 安装的依赖包是否存在本地修改。它并不能用来查看项目本身的代码变更,而是聚焦于 vendor 目录下由 Composer 管理的包 是否被改动过。
检查已安装包的本地修改
当你运行 composer status 时,Composer 会扫描 vendor/ 目录中的每一个包,判断其文件是否与原始版本不一致。这包括:
- 源码文件被手动编辑(如修改了某个库的 PHP 文件)
- 添加了额外的测试文件或配置
- 删除了某些文件
- 版本控制系统(如 Git)检测到工作区有未提交的更改
如果发现任何变更,Composer 会列出这些包,并提示“Source of this package is modified”。
显示版本来源信息
对于从版本控制系统(如 Git)安装的包(例如使用 dev 分支 或通过 repositories 配置私有包),Composer 能识别出它们是通过 VCS 安装的,并能更准确地检测变更。而通过 zip 包安装的包通常无法进行细粒度的变更检测。
常见使用场景
- 团队开发中,有人直接修改了 vendor 中的代码,可以用此命令快速发现
- 部署前检查是否有意外的本地改动
- 调试问题时确认依赖是否被篡改过
基本上就这些。composer status 不复杂但容易忽略,适合在维护项目稳定性时定期使用。










