You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

Symfony5使用Composer安装扩展报curl error 60 SSL自签证书错误

Composer curl error 60 自签证书报错解决方案

核心问题说明

该报错是cURL发起HTTPS请求时,检测到证书链中存在未被信任的自签名证书,你之前的配置未生效存在3个常见原因:

  1. 项目级composer.json的SSL配置优先级低于全局Composer配置,容易被覆盖
  2. 仅配置了curl.cainfo未同步配置openssl.cafile,且修改的不是CLI模式对应的php.ini
  3. 配置项冲突:你在composer.json中同时设置verify_peer: false和allow_self_signed: false逻辑矛盾

分步解决方案

  • 步骤1:清理冲突配置
    先删除当前项目composer.json中config.options.ssl整段配置,避免多配置冲突影响排查。
  • 步骤2:临时验证问题根因
    执行以下命令临时禁用TLS校验安装扩展,确认是否为证书校验导致的问题:
    composer require knplabs/knp-snappy-bundle --disable-tls
    
    若命令执行成功,即可确认是证书信任问题导致的报错。
  • 步骤3:永久安全修复(不建议长期关闭证书校验)
    1. 先确认CLI模式加载的php.ini路径:执行php --ini查看Loaded Configuration File对应的路径,仅修改该文件
    2. 在该php.ini中同时配置以下两个参数,值替换为你的cacert.pem绝对路径:
    curl.cainfo ="C:/wamp64/bin/php/php7.3.21/extras/ssl/cacert.pem"
    openssl.cafile ="C:/wamp64/bin/php/php7.3.21/extras/ssl/cacert.pem"
    
    1. 替换cacert.pem为最新版本,避免本地证书文件过期导致不识别新的根证书
    2. 若你的网络环境存在代理/网关做SSL劫持,将劫持用的自签名证书内容追加到cacert.pem文件末尾即可完成信任
  • 步骤4:可选全局临时关闭校验(仅临时调试用,用完建议改回)
    若仅临时使用不需要长期配置,可执行以下命令全局关闭Composer的证书校验:
    composer config --global ssl.verify_peer false
    

额外建议

你当前使用的Composer 2.0.13为较旧版本,存在多个已知SSL相关bug,网络恢复正常后可升级到最新版Composer避免同类问题。

内容的提问来源于stack exchange,提问作者rabiiben

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.09.28 06:15:03