composer提示“curl error 60”的SSL证书问题如何彻底解决
发布时间 - 2025-10-14 00:00:00 点击率:次答案是下载并配置CA证书包。首先从https://curl.se/ca/cacert.pem下载cacert.pem,保存至指定路径如C:\php\extras\ssl\;然后在php.ini中设置curl.cainfo和openssl.cafile指向该文件;最后重启服务并通过composer diagnose验证修复效果。
Composer 提示 “curl error 60: SSL certificate problem: unable to get local i
ssuer certificate” 是因为系统无法验证远程 HTTPS 服务器的证书。这通常出现在 Windows 或某些自定义 PHP 环境中,缺少可信的 CA(证书颁发机构)根证书包。以下是彻底解决该问题的方法。
1. 下载并配置最新的 CA 证书包
Composer 和 PHP 的 cURL 扩展依赖一个受信任的证书文件(通常是 ca-bundle.crt 或 cacert.pem)来验证 HTTPS 连接。
操作步骤:
- 访问 https://curl.se/ca/cacert.pem 下载最新的证书文件
- 将文件保存到本地,例如:C:\php\extras\ssl\cacert.pem(路径可根据实际环境调整)
2. 配置 php.ini 使用本地证书
修改 PHP 的配置文件 php.ini,确保 cURL 使用你下载的证书包。
找到或添加以下配置项:
curl.cainfo = "C:\php\extras\ssl\cacert.pem" openssl.cafile = "C:\php\extras\ssl\cacert.pem"
注意:路径使用双反斜杠或正斜杠均可,但必须是实际文件路径,且文件存在。
修改后重启 Web 服务或命令行环境,使配置生效。
3. 验证配置是否生效
在命令行运行:
php -r "print_r(openssl_get_cert_locations());"
查看输出中的 default_cert_file 或确认你设置的路径被正确加载。
也可以测试 Composer 是否正常工作:
composer diagnose
如果显示 “Connection to HTTPS://... succeeded”,说明问题已解决。
4. (可选)为 Composer 单独设置证书路径
如果你不想修改全局 php.ini,可以通过 Composer 配置指定证书:
composer config --global cafile "C:\php\extras\ssl\cacert.pem"
这条命令会写入 Composer 的全局配置(通常在用户目录下的 composer/config.json),仅对 Composer 生效。
检查配置是否写入:
cat %APPDATA%\Composer\config.json
应看到类似内容:
{
"config": {
"cafile": "C:\\php\\extras\\ssl\\cacert.pem"
}
}
基本上就这些。只要证书文件正确,路径无误,Composer 的 curl error 60 就不会再出现。关键是让 PHP 或 Composer 能找到可信的根证书,不建议关闭 SSL 验证(如设置 verify=false),那样会带来安全风险。
# composer
# php
# js
# json
# windows
# app
# ssl
# curl
# ai
# win
# 配置文件
相关栏目:
【
网站优化151355 】
【
网络推广146373 】
【
网络技术251813 】
【
AI营销90571 】
相关推荐:
如何在建站之星绑定自定义域名?
如何在局域网内绑定自建网站域名?
香港服务器如何优化才能显著提升网站加载速度?
使用豆包 AI 辅助进行简单网页 HTML 结构设计
Laravel的Blade指令怎么自定义_创建你自己的Laravel Blade Directives
Laravel队列任务超时怎么办_Laravel Queue Timeout设置详解
Laravel如何优雅地处理服务层_在Laravel中使用Service层和Repository层
购物网站制作费用多少,开办网上购物网站,需要办理哪些手续?
今日头条AI怎样推荐抢票工具_今日头条AI抢票工具推荐算法与筛选【技巧】
laravel怎么通过契约(Contracts)编程_laravel契约(Contracts)编程方法
广州网站制作公司哪家好一点,广州欧莱雅百库网络科技有限公司官网?
Laravel怎么实现模型属性转换Casting_Laravel自动将JSON字段转为数组【技巧】
如何快速搭建高效WAP手机网站?
Laravel集合Collection怎么用_Laravel集合常用函数详解
高端建站如何打造兼具美学与转化的品牌官网?
如何快速上传自定义模板至建站之星?
HTML透明颜色代码怎么让图片透明_给img元素加透明色的技巧【方法】
Laravel如何发送系统通知?(Notification渠道示例)
非常酷的网站设计制作软件,酷培ai教育官方网站?
Laravel Seeder填充数据教程_Laravel模型工厂Factory使用
矢量图网站制作软件,用千图网的一张矢量图做公司app首页,该网站并未说明版权等问题,这样做算不算侵权?应该如何解决?
Laravel如何实现用户注册和登录?(Auth脚手架指南)
夸克浏览器网页跳转延迟怎么办 夸克浏览器跳转优化
如何快速搭建虚拟主机网站?新手必看指南
如何快速完成中国万网建站详细流程?
Laravel如何实现模型的全局作用域?(Global Scope示例)
Python图片处理进阶教程_Pillow滤镜与图像增强
网页制作模板网站推荐,网页设计海报之类的素材哪里好?
桂林网站制作公司有哪些,桂林马拉松怎么报名?
Laravel观察者模式如何使用_Laravel Model Observer配置
个人摄影网站制作流程,摄影爱好者都去什么网站?
Laravel如何实现多表关联模型定义_Laravel多对多关系及中间表数据存取【方法】
Laravel怎么防止CSRF攻击_Laravel CSRF保护中间件原理与实践
猎豹浏览器开发者工具怎么打开 猎豹浏览器F12调试工具使用【前端必备】
百度输入法全感官ai怎么关 百度输入法全感官皮肤关闭
Laravel如何处理跨站请求伪造(CSRF)保护_Laravel表单安全机制与令牌校验
如何批量查询域名的建站时间记录?
惠州网站建设制作推广,惠州市华视达文化传媒有限公司怎么样?
PHP 实现电台节目表的智能时间匹配与今日/明日轮播逻辑
Laravel如何实现本地化和多语言支持_Laravel多语言配置与翻译文件管理
如何在腾讯云服务器上快速搭建个人网站?
公司门户网站制作公司有哪些,怎样使用wordpress制作一个企业网站?
Laravel怎么集成Log日志记录_Laravel单文件与每日日志配置及自定义通道【详解】
PHP的CURL方法curl_setopt()函数案例介绍(抓取网页,POST数据)
JS经典正则表达式笔试题汇总
如何快速上传建站程序避免常见错误?
如何为不同团队 ID 动态生成多个非值班状态按钮
香港网站服务器数量如何影响SEO优化效果?
太平洋网站制作公司,网络用语太平洋是什么意思?
如何获取上海专业网站定制建站电话?

