设置 COMPOSER_DEBUG_EVENTS=1 可查看 Composer 事件触发详情,如 pre-install-cmd 等事件及对应监听器执行顺序,帮助诊断脚本与插件的注册和运行问题。

设置环境变量 COMPOSER_DEBUG_EVENTS=1 可以让 Composer 在运行时输出事件触发的详细信息,帮助你了解内部事件系统的执行流程。
显示事件的触发顺序和监听器
启用该选项后,Composer 会打印出每一个被调度的事件名称,以及哪些监听器(Listeners)响应了这些事件。例如:
- pre-install-cmd
- post-update-dump
- script execution events
你会看到类似 Dispatching event: pre-install-cmd 的日志,接着是具体执行的脚本或插件。
调试自定义脚本或插件行为
如果你在 composer.json 中定义了脚本(scripts),比如:
"scripts": {
"post-update-cmd": "MyCustom\\Handler::run"
}
开启调试后,可以确认这些回调是否被正确注册并执行。若脚本未运行,通过事件日志可判断是事件未触发,还是监听器未绑定。
排查插件加载或脚本执行问题
某些第三方插件依赖事件机制自动注入功能。当插件不生效时,此选项能帮你确认:
- 插件是否成功注册了事件监听器
- 事件是否按预期顺序触发
- 是否存在事件被跳过的情况(如因 --no-scripts 导致)
基本上就这些。它不输出依赖解析或网络请求细节,专注在事件系统本身,适合用于诊断脚本和插件的行为逻辑。开启方式简单:在命令前加上环境变量即可。
COMPOSER_DEBUG_EVENTS=1 composer install










