应永久切换腾讯云镜像源:执行composer config -g repo.packagist composer https://mirrors.cloud.tencent.com/composer/,确保url末尾带斜杠、显式声明type为composer,再运行composer clear-cache并验证配置生效。

为什么 composer install 在国内总是卡在 Downloading...
因为默认源 https://packagist.org 位于境外,DNS 解析慢、TLS 握手不稳定、下载带宽受限,尤其加载含二进制资源(如 phpunit/phpunit 的 PHAR、laravel/sail 的 Docker 镜像引用)的包时,经常超时或重试失败。这不是你网络差,是直连策略本身不适合国内环境。
如何永久切换到腾讯云 Composer 镜像(推荐)
腾讯云镜像同步及时(通常延迟
composer config -g repo.packagist composer https://mirrors.cloud.tencent.com/composer/
验证是否生效:
composer config -g repo.packagist
输出应为:{"type": "composer", "url": "https://mirrors.cloud.tencent.com/composer/"}。注意不要用 composer config -g repos.packagist(少一个 o)——这是常见拼写错误,会导致配置写入错误字段,后续完全不生效。
composer create-project 构建脚手架时仍慢?加 --no-interaction 和 --remove-vcs
新建 Laravel、Symfony 等项目时,create-project 默认会 clone Git 仓库并保留 .git,这在镜像加速后仍是瓶颈。建议组合使用:
-
--no-interaction:跳过交互式配置(如数据库前缀提示),避免卡在 stdin 等待 -
--remove-vcs:直接删掉.git目录,省去初始化和 fetch 时间 -
--prefer-dist(默认启用,但显式声明更稳妥):强制走压缩包而非 Git clone
例如构建 Laravel 11 脚手架:
composer create-project laravel/laravel myapp --no-interaction --remove-vcs --prefer-dist
CI/CD 流水线中镜像配置容易被覆盖
GitHub Actions、GitLab CI 等环境常使用缓存或自定义容器,composer config -g 的全局设置可能被覆盖或未生效。更可靠的做法是在每次 composer install 前显式指定源:
composer install --repository-url=https://mirrors.cloud.tencent.com/composer/
或在项目根目录写 composer.json 片段(仅对当前项目生效,适合多团队协作):
"repositories": [
{
"type": "composer",
"url": "https://mirrors.cloud.tencent.com/composer/"
}
]
注意:如果项目已存在 repositories 数组,别直接覆盖,要合并进去;否则 packagist.org 会被禁用,导致私有包无法加载。
镜像只是加速手段,真正影响脚手架构建速度的还有 autoload 生成、插件执行(如 phpstan/extension-installer)、以及 PHP 扩展缺失(比如没装 ext-zip 会导致 zip:// 协议失败)。先确保镜像生效,再逐项排查这些底层依赖问题。
php免费学习视频:立即使用
踏上前端学习之旅,开启通往精通之路!从前端基础到项目实战,循序渐进,一步一个脚印,迈向巅峰!











