优先更新composer并配置CA证书解决ssl问题:1. 更新Composer并下载最新ca-bundle.crt;2. 在php.ini中设置openssl.cafile和curl.cainfo指向证书;3. 或用composer config –global cafile指定证书路径;4. 确保系统时间正确;5. 仅测试环境可临时禁用TLS。

Composer 提示 SSL 证书问题,通常是因为系统或 PHP 环境无法验证 https 连接的证书。这在 windows 或某些开发环境中比较常见。不要直接禁用 SSL 验证(不安全),建议优先尝试以下方法解决。
1. 更新 Composer 并检查 CA 证书包
Composer 依赖系统的 CA 证书来验证 HTTPS。很多问题源于证书过期或缺失。
解决方案:
- 运行 composer self-update 确保 Composer 是最新版本。
- 下载最新的 ca-bundle.crt 文件(例如从 https://www.php.cn/link/5fe4dadcdb001d8566cd20e6d8a20251)。
- 将该文件保存到一个目录,比如 C:certscacert.pem(windows)或 /etc/ssl/certs/cacert.pem(linux/macOS)。
2. 配置 PHP 使用正确的证书
修改 php.ini 文件,确保 OpenSSL 能找到证书包。
- 找到你的 php.ini 文件(可通过 php –ini 查看位置)。
- 添加或修改以下配置项:
openssl.cafile=/path/to/cacert.pem curl.cainfo=/path/to/cacert.pem
保存后重启 Web 服务或命令行环境。
3. 设置 Composer 使用自定义证书路径
如果不想改全局 php.ini,可以单独为 Composer 配置证书路径。
- 运行命令:
composer config --global cafile "C:/certs/cacert.pem"
路径使用绝对路径,并注意反斜杠转义(Windows 下可用正斜杠或双反斜杠)。
4. 检查系统时间和时区
错误的系统时间会导致证书“未生效”或“已过期”。
5. 临时方案(仅用于测试环境)
如果急需使用且处于本地开发环境,可临时关闭 SSL 验证(不推荐生产环境使用):
composer config --global disable-tls true
但这会降低安全性,可能导致中间人攻击。完成后应立即恢复:
composer config --global disable-tls false
基本上就这些。重点是更新证书并正确配置 php.ini 或 Composer 的 cafile。搞定后 composer install/update 就不会再报 SSL 错误了。