首先检查并配置php.ini中的openssl.cafile和curl.cainfo,确保指向有效的CA证书文件路径,如下载Mozilla的cacert.pem并正确设置路径以解决SSL证书问题。

当使用 Composer 安装或更新 PHP 包时,如果遇到 SSL 证书错误(例如 SSL certificate problem: unable to get local issuer certificate),通常是因为系统缺少可信的 CA 证书包,或 PHP 的 OpenSSL 配置不正确。下面是一些实用的解决方法。
检查并配置 php.ini 中的 openssl.cafile
Composer 依赖 PHP 的 OpenSSL 扩展来验证 HTTPS 连接。确保 php.ini 正确设置了 CA 证书路径。
打开你的 php.ini 文件(可通过 php --ini 查找位置),找到以下行:
openssl.cafile= curl.cainfo=将它们设置为一个有效的 CA 证书文件路径。你可以下载 Mozilla 的 CA 证书包:
- 访问 https://www.php.cn/link/5fe4dadcdb001d8566cd20e6d8a20251
- C:\php\extras\ssl\cacert.pem(Windows)或 /etc/ssl/certs/cacert.pem(Linux/macOS)
- 在 php.ini 中填写路径:
保存后重启 Web 服务或命令行环境,并运行 php -r "print_r(openssl_get_cert_locations());" 确认 cafile 是否生效。
临时禁用 SSL 验证(仅限测试环境)
如果你在受信任的网络中调试,可临时关闭 SSL 验证(不推荐生产环境):
- 运行命令:
这会强制 Composer 使用 HTTP 而非 HTTPS。要恢复安全连接,运行:
composer config -g disable-tls false更新或重置 Composer 的全局配置
有时全局配置可能损坏或指向错误仓库。尝试重置默认设置:
- 清除缓存:
- 确保使用官方镜像:
避免使用过期或不可信的镜像源。
Windows 用户特别提示
某些 WAMP/XAMPP 安装未正确链接证书。除了修改 php.ini,还需确认:
- PHP 版本是否为官方发布版(非精简版)
- 环境变量 PATH 是否指向正确的 PHP 目录
- 使用 where php 确保调用的是预期的 PHP 可执行文件
基本上就这些。多数 SSL 问题源于 CA 证书缺失或配置错误。只要正确设置 openssl.cafile 并重启环境,Composer 就能正常工作。不复杂但容易忽略。










