应优先配置国内镜像源,执行composer config -g repo.packagist composer (如阿里云:https://mirrors.aliyun.com/composer/),并配合clear-cache、删vendor和composer.lock后重装,确保日志中出现镜像域名才表示生效。

国内用户不配镜像站,90% 的 composer install 失败或超时都源于没换源。 默认走 packagist.org(海外服务器),DNS 解析慢、连接不稳定、单线程下载,遇到大包(如 symfony/framework-bundle 或含二进制扩展的包)极易卡死或报 Connection timed out。
怎么查当前用的是哪个镜像?
执行 composer config -g repo.packagist。如果输出为空,说明没设全局镜像;如果输出类似 {"type": "composer", "url": "https://packagist.org"},那就是还在走官方源。
注意:composer config -g 查的是全局配置,项目级配置需进项目目录后执行 composer config repo.packagist —— 两者可能不同,优先以项目级为准。
推荐镜像站及对应命令(2026 年实测有效)
阿里云镜像最稳,全量同步、响应快、支持 HTTPS,适合生产环境:
composer config -g repo.packagist composer https://mirrors.aliyun.com/composer/
腾讯云镜像对部分 Laravel 生态包缓存更及时,适合快速迭代场景:
composer config -g repo.packagist composer https://mirrors.cloud.tencent.com/composer/
清华源偶尔同步延迟(尤其新发布包),但带宽足,适合大体积依赖批量安装:
composer config -g repo.packagist composer https://mirrors.tuna.tsinghua.edu.cn/composer/
切勿使用已停更的 phpcomposer.com(packagist.phpcomposer.com),2025 年底起大量包返回 404。
为什么 composer require 还是慢?检查这三点
- 镜像只加速
packagist.org上的 PHP 包;若依赖里含 GitHub 直链(如"repo": "github"类型仓库)、私有 Git 仓库或 SVN 源,镜像无效 -
composer.lock中记录的 dist URL 若仍是原始 GitHub 地址(如"url": "https://api.github.com/repos/monolog/monolog/zipball/..."),Composer 会绕过镜像直连 —— 此时需删掉composer.lock后重跑composer install - 某些包(如
ext-*扩展)实际由phpize编译安装,和镜像无关,慢是因为本地编译耗时
如何让镜像真正生效并提速?
光配镜像不够,得配合以下操作:
• 运行 composer clear-cache 清掉旧缓存(尤其之前用过失效镜像)
• 删除项目中的 composer.lock 和 vendor/ 目录(仅首次配置镜像时需要)
• 执行 composer install -vvv 观察日志中 Downloading https://mirrors.aliyun.com/... 是否出现 —— 这才是镜像真正起效的标志
• 如仍卡在某包,加 --no-cache 强制跳过本地缓存重试
镜像不是万能的,但它是最容易见效的一步;真正卡住的时候,往往不是镜像没配好,而是你正试图安装一个被墙的 Git 子模块,或者 composer.json 里写了 "minimum-stability": "dev" 导致回退到不稳定分支拉源码。











