必须使用https且末尾带斜杠的浙江大学镜像地址:composer config -g repo.packagist composer https://mirrors.zju.edu.cn/composer/,该命令写入/root/.composer/config.json并覆盖旧配置,执行后需clear-cache并用composer show -vvv验证真实请求url是否为zju镜像。

composer config -g repo.packagist 命令必须带 HTTPS 和末尾斜杠
浙江大学镜像站地址是 https://mirrors.zju.edu.cn/composer/,不是 http,也不是 https://mirrors.zju.edu.cn/composer(少斜杠会 404)。直接执行以下命令即可生效:
composer config -g repo.packagist composer https://mirrors.zju.edu.cn/composer/
这条命令会写入 /root/.composer/config.json(宝塔默认用 root 用户),修改后无需重启终端或服务。但要注意:
- Windows 用户需关闭并重开终端,否则仍读旧配置
- 如果之前设过其他镜像(比如阿里云),该命令会覆盖,不是追加
- 若输出为空或报
Key "repo.packagist" does not exist,说明拼写错误——检查是不是写成repos.packagist(多 s)或漏了中间的composer类型值
验证是否真的走 ZJU 镜像而不是 packagist.org
别只信 composer config -g repo.packagist 返回 URL 就完事。实际请求可能被更高优先级配置覆盖,或缓存未清。验证要分两步:
第一步:清掉本地元数据缓存:composer clear-cache
围绕关键发现、作用机制、临床相关性及研究局限性展开讨论。适用于撰写或优化任何生物医学论文的“讨论(Discussion)”部分——包括结果解读、与既往文献关联、阐释意外发现、界定研究局限性,以及撰写结论。当用户输入以下任一指令时也会自动触发该功能: - “write my discussion” - “help me discuss my findings” - “how do I compare to prior studies” - “write the limitations par
第二步:用调试模式触发真实请求:composer show monolog/monolog 3.0.0 -vvv 2>&1 | grep "Downloading"
如果看到类似 Downloading https://mirrors.zju.edu.cn/composer/p2/monolog/monolog/... 就对了。如果还是 packagist.org 或 Could not fetch https://mirrors.zju.edu.cn/composer//p2/...(注意双斜杠),说明 URL 少了末尾斜杠。
项目级配置时 repositories 字段不能写错 key 名
进到项目根目录后,用 composer config repo.packagist composer https://mirrors.zju.edu.cn/composer/(去掉 -g)会自动往 composer.json 里加 "repositories" 字段。关键点是:
- 字段名必须是
"repositories"(复数),不是"repository" - 里面必须包含一个 key 为
"packagist"的对象,不能是"zju"或"mirror" - 这个对象的
"type"必须是"composer","url"必须和全局命令里的一致 - 如果项目已有
"repositories",命令会合并,不会覆盖;但手动编辑 JSON 时容易格式出错,建议优先用命令写入
宝塔面板下 ZJU 镜像可能被 PHP 禁用函数拦住
即使镜像配置正确,composer install 仍卡在 Resolving dependencies 或报 proc_open(): fork failed,大概率是宝塔 PHP 设置里禁用了必要函数。必须进「PHP 管理」→ 对应版本 → 「禁用函数」,确认已移除:
-
proc_open(Composer 解析依赖必需) -
putenv(影响环境变量加载,间接导致镜像不生效) -
pcntl_signal(部分插件依赖,不关它有时也能跑,但建议一并放开)
改完记得重启 PHP 服务,再在终端里运行 php -m | grep pcntl 确认扩展已加载。ZJU 镜像本身稳定,问题通常不出在源,而出在本地执行环境。










