全局配置腾讯云镜像源需执行composer config -g repo.packagist composer https://mirrors.cloud.tencent.com/composer/,注意键名、type值及末尾斜杠;执行后用composer config -g repo.packagist验证是否生效。

全局配置腾讯云镜像源(一劳永逸)
直接生效、影响所有项目,是绝大多数国内 PHP 开发者的首选方案。命令写错一个字符或漏掉斜杠,就会导致后续 composer install 报 404 或 fallback 到官方源。
-
composer config -g repo.packagist composer https://mirrors.cloud.tencent.com/composer/—— 注意:repo.packagist是固定键名,不是repos.packagist;composer是 type 值,不能省略;末尾/必须保留 - 执行后立刻验证:
composer config -g repo.packagist应输出完整 JSON 对象,含"url": "https://mirrors.cloud.tencent.com/composer/" - 若返回空或仍是
https://packagist.org,说明没生效,大概率是拼写错误或权限问题(如在 Docker 容器里未以正确用户运行)
项目级配置(不污染全局,适合协作或 CI)
进项目根目录后执行,会直接改写 composer.json 的 repositories 字段。看似安全,但容易覆盖已有私有仓库配置。
-
composer config repo.packagist composer https://mirrors.cloud.tencent.com/composer/(不加-g) - 该命令会**完全替换**
composer.json中的repositories.packagist对象,如果项目已定义其他私有源(比如内网 Satis),会被清空 - 想保留私有源?必须手动编辑
composer.json,把腾讯云镜像作为packagist子项写进去,而不是用config命令覆盖
临时切换镜像(调试或 CI 单次任务)
不改任何配置文件,只对当前命令起作用。适合排查网络问题,或在 CI 脚本里快速验证镜像可用性。
-
composer install -r https://mirrors.cloud.tencent.com/composer/——-r参数仅支持install和update,create-project不认它 -
composer create-project laravel/laravel demo --repository=https://mirrors.cloud.tencent.com/composer/—— 这才是create-project的等效写法 - 注意:
-r会**忽略所有已配置的源**(包括项目级和全局),所以它既是优势也是陷阱:你测的快,但测的不是真实环境
为什么换源后还是慢 / 报错?常见失效原因
镜像本身极少宕机,问题通常出在本地环境链路上。看到 Loading composer repositories with package information 卡住几十秒,别急着换源,先看这几处。
-
SSL certificate problem: unable to get local issuer certificate:Windows 或某些 Linux 发行版的 PHP 没配 CA 证书,需在php.ini中设置curl.cainfo指向有效的cacert.pem -
Could not resolve host: mirrors.cloud.tencent.com:公司内网 DNS 屏蔽了域名,可尝试用 IP 直连(如https://118.31.67.52/composer/,但注意 HTTPS 证书可能不匹配) -
Repo packagist.org is default:运行composer diagnose出现这句,说明镜像根本没接管,优先检查composer config -g repo.packagist输出是否符合预期
腾讯云镜像和阿里云镜像在同步延迟、稳定性上目前差异极小,选哪个更多取决于你服务器的地理位置和网络策略。真正容易被忽略的是:项目里 composer.json 显式写了 "packagist.org",会直接绕过所有镜像配置——这种写法在老旧项目或团队模板里还不少见。










