Composer报cURL error 60是因PHP cURL缺少有效CA证书,需下载cacert.pem并配置php.ini中curl.cainfo指向该文件,再设Composer全局cafile并验证diagnose输出OK。
Composer install/update 报错 cURL error 60:SSL certificate problem
这是 Composer 在 Windows 或某些 Linux 发行版上最常见的 SSL 错误,典型报错是:cURL error 60: SSL certificate problem: unable to get local issuer certificate。根本原因不是 Composer 本身有问题,而是 PHP 的 cURL 扩展找不到或用错了 CA 证书包——尤其是 Windows 下的 PHP 自带 cURL 往往不带有效证书,或系统证书已过期。
检查并替换 PHP 使用的 cacert.pem 文件
Composer 依赖 PHP 的 cURL,而 cURL 需要可信 CA 证书来验证 HTTPS 连接。PHP 默认不指定证书路径,容易 fallback 到空或过期路径。
- 下载最新
cacert.pem:从 https://www.php.cn/link/5fe4dadcdb001d8566cd20e6d8a20251 直接保存为纯文本文件(注意不要用浏览器另存为 HTML) - 在
php.ini中显式指定路径,添加或修改这一行:curl.cainfo = "D:\php\extras\ssl\cacert.pem"(路径用双引号,反斜杠需转义或改用正斜杠) - 重启 Web 服务或 CLI 环境,运行
php -r "print_r(curl_version());"确认ssl_version和features中包含CURL_VERSION_SSL
临时绕过 SSL 验证(仅限调试,切勿用于生产)
不推荐长期使用,但可快速验证是否确为证书问题。绕过会失去 HTTPS 安全保障,且 Composer 8.2+ 已默认禁用该选项。