composer install 失败主因是配置覆盖、缓存未清或代理格式错误:项目级 repositories 优先于全局镜像,需运行 composer config repo.packagist 确认;务必执行 composer clear-cache;https-proxy 必须为 http:// 开头,不可写 https://。

curl -I https://packagist.org 能通,但 composer install 不行
说明 Composer 没走你认为的路径——它可能根本没连 packagist.org,而是静默 fallback 到了别的源,或者被项目级 composer.json 里的 repositories 覆盖了。别急着改证书,先确认它到底想连谁:
- 运行
composer config -g repo.packagist,输出必须是完整 JSON:{"type": "composer", "url": "https://mirrors.aliyun.com/composer/"};如果只显示 URL 字符串,说明type和结尾/都漏了,配置无效 - 再跑
composer config repo.packagist(不加-g),看当前项目是否硬写了repositories,它优先级高于全局配置 - 执行
composer clear-cache,否则旧缓存可能还在返回过期地址
SSL certificate problem: unable to get local issuer certificate
这不是 Composer 的错,是 PHP 的 OpenSSL 找不到可信根证书。重点查三处:
围绕关键发现、作用机制、临床相关性及研究局限性展开讨论。适用于撰写或优化任何生物医学论文的“讨论(Discussion)”部分——包括结果解读、与既往文献关联、阐释意外发现、界定研究局限性,以及撰写结论。当用户输入以下任一指令时也会自动触发该功能: - “write my discussion” - “help me discuss my findings” - “how do I compare to prior studies” - “write the limitations par
- 运行
php -r "print_r(openssl_get_cert_locations());",盯住default_cert_file和ini_cafile两个路径:文件是否存在?最后修改时间是否早于 2023 年? - Linux(Debian/Ubuntu):运行
sudo apt update && sudo apt install --reinstall ca-certificates && sudo update-ca-certificates - macOS(Homebrew):运行
brew reinstall ca-certificates,然后确认php.ini中openssl.cafile指向$(brew --prefix ca-certificates)/share/ca-certificates/cert.pem - Windows(XAMPP/WAMP):别用自带的
curl-ca-bundle.crt,去 curl 官网 下载最新cacert.pem,并在php.ini同时设置curl.cainfo和openssl.cafile
配了代理却报 502 Bad Gateway
Composer 的 https-proxy 必须是 http:// 开头,哪怕代理本身跑在 HTTPS 端口上。它只发 CONNECT 请求,不处理 TLS。
- 错误写法:
composer config -g repo.packagist.org.ssl-proxy https://127.0.0.1:7890→ 必然 502 或静默失效 - 正确写法:
composer config -g repo.packagist.org.ssl-proxy http://127.0.0.1:7890,且必须配套设置http-proxy(同一地址) - 验证代理链是否正常:
curl -x http://127.0.0.1:7890 -I https://packagist.org,如果也返回 502,问题就在代理服务本身,不是 Composer
临时绕过 SSL 校验只对调试有效
--no-secure-http 或 secure-http false 只影响是否强制使用 HTTPS 协议,不跳过证书验证。真要绕开 OpenSSL 层校验,得靠环境变量或 PHP 配置:
- 单次命令绕过(最安全):
COMPOSER_NO_SSL=1 composer install - 全局禁用(仅限离线开发机):
export COMPOSER_NO_SSL=1,然后运行命令 - 注意:
disable-tls true是彻底关掉 HTTPS,会降级到 HTTP,存在中间人风险,不推荐
composer.json 的 repositories 覆盖、缓存未清、以及 https-proxy 写成 https:// 这种格式错误——它们都会让 Composer 表面“配置成功”,实则静默退回到不可用的原始路径。










