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

Drupal站点Composer安装时SSL证书验证失败问题求助

Drupal Composer Install 补丁下载SSL验证失败问题排查与解决

问题成因

  1. Git重装操作可能覆盖或破坏了系统、PHP的SSL证书信任配置,导致CA证书链不完整
  2. 公司ZScaler代理的证书未被正确注入到PHP/Composer的信任列表(即使卸载ZScaler,可能残留配置或证书缓存)
  3. PHP配置文件php.ini中SSL相关参数未正确指向有效CA证书文件

解决步骤

1. 确认Composer关联PHP的php.ini配置

  • 执行命令查看Composer使用的PHP路径:
    composer diagnose
    
  • 找到对应PHP版本的php.ini文件,检查以下两项配置,确保指向有效CA证书文件(如cacert.pem):
    openssl.cafile = "C:\Program Files\Common Files\SSL\cacert.pem"
    curl.cainfo = "C:\Program Files\Common Files\SSL\cacert.pem"
    
  • 若路径为空或错误,更新后重启PHP服务(如XAMPP的Apache)

2. 为Composer全局指定CA证书

  • 命令行执行:
    composer config --global cafile "C:\Program Files\Common Files\SSL\cacert.pem"
    
  • 或手动修改全局Composer配置文件(路径:C:\Users\[你的用户名]\AppData\Roaming\Composer\config.json),添加:
    {
      "config": {
        "cafile": "C:\\Program Files\\Common Files\\SSL\\cacert.pem"
      }
    }
    

3. 修复Git的SSL证书配置

  • 执行命令设置Git的SSL CA证书路径:
    git config --global http.sslCAinfo "C:\Program Files\Common Files\SSL\cacert.pem"
    
  • 确认Git SSL验证处于开启状态:
    git config --global http.sslVerify true
    

4. 清理Composer缓存并重试

  • 清理缓存:
    composer clear-cache
    
  • 重新执行安装命令:
    composer install
    

5. 系统层面SSL连通性测试

  • 使用curl测试补丁URL的SSL连接,排查系统级信任问题:
    curl -v https://www.drupal.org/files/issues/2022-12-20/2689459-161.patch
    
  • 若curl也返回证书验证失败,需确认CA证书文件是否包含Drupal.org服务器的完整证书链,或检查系统代理设置是否残留(执行netsh winhttp show proxy查看,必要时临时关闭代理)

额外注意事项

  • 确保C:\Program Files\Common Files\SSL文件夹及其中的cacert.pem文件具备PHP/Composer进程的读取权限
  • 使用最新版本的CA证书文件,避免因证书过期导致验证失败

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.06.22 09:35:01