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

Windows 11下无法安装Composer:SSL证书验证失败求助

Windows 11下Composer安装SSL证书验证失败的解决方法
  • 检查PHP.ini的完整SSL配置
    除了已配置的curl.cainfo,需同时设置openssl.cafile指向同一个证书文件:

    openssl.cafile = C:\PHP\PHP8.2.17\cacert.pem
    

    确保修改的是CLI模式使用的php.ini:在命令行执行php --ini,查看Loaded Configuration File对应的路径,修改该文件后重启命令行窗口生效。

  • 验证证书文件有效性

    • 重新下载最新版cacert.pem,替换现有文件,避免文件损坏或不完整;
    • 创建测试脚本验证证书是否生效:新建test.php文件,写入以下代码:
      <?php
      $context = stream_context_create([
          'ssl' => [
              'cafile' => 'C:\PHP\PHP8.2.17\cacert.pem',
              'verify_peer' => true,
              'verify_peer_name' => true
          ]
      ]);
      $result = file_get_contents('https://getcomposer.org/versions', false, $context);
      var_dump($result);
      ?>
      
      在命令行执行php test.php,若能返回版本内容则证书配置正常,否则检查路径或文件完整性。
  • 导入证书到Windows系统信任存储
    将cacert.pem导入系统受信任根证书颁发机构:

    1. 打开mmc控制台,添加“证书”管理单元,选择“计算机账户”;
    2. 展开“受信任的根证书颁发机构”→“证书”,右键选择“所有任务”→“导入”;
    3. 按照向导选择cacert.pem文件完成导入。
  • 临时绕过SSL验证(仅测试用)
    若以上方法均无效,可临时使用无验证安装命令:

    php -r "copy('https://getcomposer.org/installer', 'composer-setup.php');" -- --no-verify-peer
    php composer-setup.php --no-verify-peer
    

    注意:此方法存在安全风险,安装完成后需尽快修复证书问题。

  • 检查PHP扩展与环境

    • 确认OpenSSL扩展已启用:执行php -m,查看输出中是否包含openssl,若未启用,在php.ini中去掉extension=openssl前的分号;
    • 查看OpenSSL版本兼容性:执行php -i | findstr OpenSSL,确认版本与PHP8.2.17兼容。
  • 排查代理干扰
    若系统使用代理,临时清空代理设置后重试:

    set HTTP_PROXY=
    set HTTPS_PROXY=
    

    若代理需自定义CA证书,需将代理证书合并到cacert.pem中。

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.06.14 01:02:41