截至2026年7月,实测稳定可用的composer国内镜像源有四个:阿里云(https://mirrors.aliyun.com/composer/)、清华大学(https://mirrors.tuna.tsinghua.edu.cn/composer/)、上海交大sjtug(https://packagist.mirrors.sjtug.sjtu.edu.cn/)和php.cnpkg.org;其余如phpcomposer.com等均已停用或失效。

当前可用且实测稳定的 Composer 国内镜像源有哪些
截至 2026 年 7 月,仍在持续同步、支持 HTTPS、兼容 Composer 2.9+ 且无大规模 502/404 的镜像只有以下四个,其余多数已停更或失效:
-
https://mirrors.aliyun.com/composer/—— 阿里云镜像,同步延迟 ≤ 90 秒,CDN 覆盖全,packages.json压缩体积小,CI 友好;唯一要求是 URL 必须以/结尾,少斜杠会静默回退官方源 -
https://mirrors.tuna.tsinghua.edu.cn/composer/—— 清华大学镜像,教育网和北方地区访问极快,但部分南方用户偶发 DNS 解析慢;对 PHP 8.4 新签名验证更严格,版本上线略晚于阿里云 -
https://packagist.mirrors.sjtug.sjtu.edu.cn/—— 上海交大 SJTUG 镜像,学术网络运维,稳定性优先,适合 CI/CD 流水线;需确认出口 IP 是否在教育网白名单,否则可能返回403 Forbidden -
https://php.cnpkg.org—— 非官方但更新最勤,Laravel 11 和 monorepo 类包基本当天入库,失败率最低;缺点是文档弱,出问题只能靠社区反馈
已明确不可用的旧地址(执行会报错或 404):https://packagist.phpcomposer.com、https://packagist.laravel-china.org、http:// 开头的所有地址(Composer 2.2+ 默认禁用 HTTP 源)。
为什么 composer config -g repo.packagist 看似成功却没生效
这不是命令输错了,而是配置未真正写入或被覆盖。常见原因有四个:
工作流任务拆解与模型编排技能。使用场景:(1) 收到复杂工作任务需要拆解为可执行步骤,(2) 需要为不同步骤选择最合适的模型,(3) 需要跟踪工作流进度和模型使用情况,(4) 长时间任务卡住需要问题诊断和解决方案。
- 键名错误:Composer 2.2+ 推荐用
repositories.packagist.org,但很多文档仍沿用旧键repo.packagist;新版中后者可能被静默忽略,查配置时返回空 - 项目级覆盖:只要当前目录
composer.json里有"repositories"字段(哪怕只写了{"packagist": false}),全局配置就完全失效,且不报错 - 缓存未清:改完配置不运行
composer clear-cache,本地仍复用旧的packages.json缓存(默认最长 15 分钟),请求照发往旧地址 - Windows + Git Bash 路径错位:
COMPOSER_HOME未生效,实际读取的是%APPDATA%\Composer\config.json,而你改的是~/.composer/config.json
怎么验证镜像真的在用,而不是“看起来配好了”
不能只信命令回显“success”,得看三处输出是否一致:
- 查配置:
composer config -g repositories.packagist.org(或repo.packagist,视版本而定),输出必须是完整 JSON,如{"type": "composer", "url": "https://mirrors.aliyun.com/composer/"} - 看诊断:
composer diagnose,找到 “Repo:” 行,域名必须匹配你设的镜像,不是packagist.org - 抓真实请求:
composer update -vvv | grep "Downloading",日志里出现的 URL 应含mirrors.aliyun.com或你配的其他镜像域名;不加-vvv就等于“盲装”
临时切换或项目级配置要注意什么
临时参数和项目级配置虽灵活,但限制多,容易踩坑:
-
--repository-url=只对install和update生效,require加它无效;适合 CI 脚本快速验证,不适合日常开发 - 项目级配置要写进
composer.json的"repositories"数组,格式必须是:[{"type": "composer", "url": "https://mirrors.aliyun.com/composer/"}];漏掉type或 URL 少斜杠,会导致composer install直接失败 - 如果项目里已有
"repositories"字段(比如历史遗留的 Laravel China 地址),即使你刚配好全局镜像,它也会被强制覆盖——删掉或注释掉该字段才能让全局生效
镜像本身只是通道,真正影响体验的是元数据同步质量与 CDN 节点适配。阿里云目前仍是通用性最强的选择,但如果你跑 CI 在腾讯云 ECS 上,用其内网地址 http://mirrors.tencentyun.com/composer/(注意是 HTTP)反而更快;这种细节,不实测根本不会暴露。










