腾讯云 Composer 镜像已于2024年10月1日下线,需清除旧配置(composer config -g --unset repos.packagist)、设置阿里云镜像(https://mirrors.aliyun.com/composer/)、并验证请求URL含aliyun.com。

腾讯云 Composer 镜像已下线,无法配置成功——任何按旧教程执行的 composer config -g repo.packagist composer https://mirrors.cloud.tencent.com/composer/ 命令都会失败,返回 404 或 SSL 错误。
执行 composer config -g repo.packagist 后仍走官方源?
这不是命令没写对,而是镜像服务本身已不可用。自 2024 年 10 月 1 日起,https://mirrors.cloud.tencent.com/composer/ 返回 HTTP 404;Composer 2.7+ 在 HTTPS 校验失败或重定向异常时会直接中止,不会静默回退到 packagist.org。
常见表现包括:
-
composer diagnose显示Repo.packagist.org: OK,但实际请求仍发往官方源(该提示仅表示「当前配置的 URL 能连通」,而 404 也算“能连通”) -
composer require xxx -vvv日志首行请求地址是https://packagist.org/packages.json,而非你配置的腾讯云地址 - 执行
composer config -g -l | grep repo看似有输出,但只是残留配置未清理干净
如何安全切换到仍在维护的国内镜像?
必须清除旧配置,并显式设置新源。三步缺一不可:
腾讯云跨账号资源迁移工具,支持将账号A的VPC、CLB、NAT、CVM、安全组等资源迁移至账号B,通过CCN云联网实现跨账号网络互通,提供自动扫描、配置生成、Terraform部署功能。
- 先清空全局镜像配置:
composer config -g --unset repos.packagist(注意是repos.packagist,不是repo.packagist;拼错键名会导致残留) - 再设阿里云镜像(推荐,同步及时、HTTPS 正常):
composer config -g repo.packagist composer https://mirrors.aliyun.com/composer/ - 验证是否真正生效:
composer config -g repo.packagist应输出完整 JSON;再跑composer show -p | head -3,看包列表是否秒出,且-vvv日志中请求 URL 含aliyun.com
项目级 repositories 配置会覆盖全局设置
即使全局镜像已切成功,只要项目根目录下的 composer.json 中存在 repositories 字段(例如旧项目遗留的腾讯云或 phpcomposer.com 地址),Composer 就会优先使用它。
检查方法:grep -A5 '"repositories"' composer.json
处理方式:
- 手动删掉整个
"repositories": { ... }块(保留缩进,避免 JSON 格式错误) - 或用命令清除:
composer config --unset repositories(在项目目录下运行) - CI 流程中建议加
composer diagnose检查源连通性,而不是只信配置输出
镜像不是一劳永逸的配置项。国内源每年都有关停或策略变更,比如腾讯云、phpcomposer.com、laravel-china.org 先后失效。真正关键的不是记住某个地址,而是掌握「清旧 + 设新 + 验证请求 URL」这一闭环动作。

















