答案是下载并配置CA证书包。首先从https://curl.se/ca/cacert.pem下载cacert.pem,保存至指定路径如C:phpextrasssl;然后在php.ini中设置curl.cainfo和openssl.cafile指向该文件;最后重启服务并通过composer diagnose验证修复效果。

Composer 提示 “curl error 60: SSL certificate problem: unable to get local issuer certificate” 是因为系统无法验证远程 HTTPS 服务器的证书。这通常出现在 Windows 或某些自定义 PHP 环境中,缺少可信的 CA(证书颁发机构)根证书包。以下是彻底解决该问题的方法。
Composer 和 PHP 的 cURL 扩展依赖一个受信任的证书文件(通常是 ca-bundle.crt 或 cacert.pem)来验证 HTTPS 连接。
操作步骤:
修改 PHP 的配置文件 php.ini,确保 cURL 使用你下载的证书包。
找到或添加以下配置项:
curl.cainfo = "C:phpextrassslcacert.pem" openssl.cafile = "C:phpextrassslcacert.pem"
注意:路径使用双反斜杠或正斜杠均可,但必须是实际文件路径,且文件存在。
修改后重启 Web 服务或命令行环境,使配置生效。
在命令行运行:
php -r "print_r(openssl_get_cert_locations());"
查看输出中的 default_cert_file 或确认你设置的路径被正确加载。
也可以测试 Composer 是否正常工作:
composer diagnose
如果显示 “Connection to HTTPS://... succeeded”,说明问题已解决。
如果你不想修改全局 php.ini,可以通过 Composer 配置指定证书:
composer config --global cafile "C:phpextrassslcacert.pem"
这条命令会写入 Composer 的全局配置(通常在用户目录下的 composer/config.json),仅对 Composer 生效。
检查配置是否写入:
cat %APPDATA%Composerconfig.json
应看到类似内容:
{
"config": {
"cafile": "C:\php\extras\ssl\cacert.pem"
}
}基本上就这些。只要证书文件正确,路径无误,Composer 的 curl error 60 就不会再出现。关键是让 PHP 或 Composer 能找到可信的根证书,不建议关闭 SSL 验证(如设置 verify=false),那样会带来安全风险。
以上就是composer提示“curl error 60”的SSL证书问题如何彻底解决的详细内容,更多请关注php中文网其它相关文章!
每个人都需要一台速度更快、更稳定的 PC。随着时间的推移,垃圾文件、旧注册表数据和不必要的后台进程会占用资源并降低性能。幸运的是,许多工具可以让 Windows 保持平稳运行。
Copyright 2014-2025 https://www.php.cn/ All Rights Reserved | php.cn | 湘ICP备2023035733号