composer install 变慢的罪魁祸首是启用的 xdebug 扩展,因其调试机制开销大且 composer 完全不需要;临时禁用推荐使用 php -d zend_extension= -d extension= composer install 命令,或配置 alias composer-nxd 简化操作。
为什么 composer install 会变慢,xdebug 是罪魁祸首?
只要 xdebug 启用(哪怕只是加载了扩展),PHP 的所有 CLI 运行都会被拖慢——composer install、composer update 都明显卡顿,尤其在解析大量依赖或执行脚本时。这不是错觉,是 xdebug 的调试机制本身开销大,而 Composer 完全不需要它。
临时禁用 xdebug 的最快方式(推荐)
不用改配置文件,也不用重启 PHP,直接在命令前加环境变量:
php -d zend_extension= -d extension= composer install
或者更稳妥一点(兼容不同 PHP 版本和扩展名):
php -d zend_extension= -d extension= -d zend_extension= -d extension= composer install
如果不确定 xdebug 的真实扩展名,先运行 php -m | grep xdebug 看输出,常见值有:xdebug.so(Linux/macOS)、php_xdebug.dll(Windows),然后针对性清空:
php -d zend_extension= -d extension=xdebug.so composer installphp -d zend_extension= -d extension=php_xdebug.dll composer install
自动化:写个 alias 或 wrapper 脚本避免每次都输长命令
在 shell 配置里加一行(如 ~/.zshrc 或 ~/.bashrc):