本文目录导读:

在 PHP 项目中切换 Composer 镜像源(通常是为了加速下载),主要有以下 3 种方法,推荐优先使用阿里云或腾讯云镜像。
全局切换(推荐,一次设置,所有项目生效)
# 查看当前全局配置 composer config -g repo.packagist # 切换为阿里云镜像(国内最快之一) composer config -g repo.packagist composer https://mirrors.aliyun.com/composer/ # 切换为腾讯云镜像 composer config -g repo.packagist composer https://mirrors.cloud.tencent.com/composer/ # 切换为华为云镜像 composer config -g repo.packagist composer https://repo.huaweicloud.com/repository/php/
恢复官方源:
composer config -g --unset repos.packagist
单个项目切换(仅影响当前目录下项目)
# 进入项目根目录 cd /path/to/your/project # 设置当前项目使用阿里云镜像 composer config repo.packagist composer https://mirrors.aliyun.com/composer/ # 恢复官方源 composer config --unset repos.packagist
效果:在项目根目录的 composer.json 中会多出 repositories 配置项。
使用环境变量临时切换(一次命令)
适合 CI/CD 或临时调试,无需修改配置文件:
# 使用阿里云镜像下载依赖(仅本次命令) COMPOSER_MIRROR=https://mirrors.aliyun.com/composer/ composer install # 或直接设置环境变量 export COMPOSER_HOME=~/.composer export COMPOSER_MIRROR=https://mirrors.aliyun.com/composer/ composer require monolog/monolog
常见问题 FAQ
Q:切换后下载还是慢?
- 检查是否被公司防火墙限制(尝试 HTTPS vs HTTP)
- 尝试其他镜像:腾讯云、华为云、上海交通大学镜像
- 若使用
composer create-project,加参数--prefer-dist避免源码拉取
Q:镜像源报 404 / 找不到包?
- 镜像源同步有延迟(约 10-30 分钟),最新发布的包可能暂时缺失
- 临时恢复官方源:
composer config -g --unset repos.packagist
Q:如何验证当前使用哪个镜像?
composer config -g repos.packagist
# 输出类似:{"type":"composer","url":"https://mirrors.aliyun.com/composer"}
推荐镜像源(国内)
| 镜像源 | 地址 | 说明 |
|---|---|---|
| 阿里云 | https://mirrors.aliyun.com/composer/ |
速度稳定,推荐首选 |
| 腾讯云 | https://mirrors.cloud.tencent.com/composer/ |
同步速度好 |
| 华为云 | https://repo.huaweicloud.com/repository/php/ |
国内速度快 |
| 上海交通大学 | https://packagist.mirrors.sjtug.sjtu.edu.cn |
教育网友好 |
建议: 如果阿里云镜像偶尔抽风,可切换到腾讯云或华为云备用。