开发项目curl发起https请求,cURL error 60: SSL certificate problem: unable to get local issuer cert提示找不到本地证书错误

2023-11-13

个人开发的时候,在新建的环境,使用curl发起https请求,基本都是错误,需要专门配置,配置完成之后,经常会跟随一个小问题,cURL error 60: SSL certificate problem: unable to get local issuer certificate,找不到证书,下面简要说一下配置过程和证书路径,

1.开启https请求

开启:php_openssl,在php.ini文件中,搜索此项,取消注释即可,

2.配置证书,此处有两种方式

第一种使用代码模式:

//解决方案一 禁用证书验证
$params[CURLOPT_SSL_VERIFYPEER] = false;
$params[CURLOPT_SSL_VERIFYHOST] = false;

//解决方案二 设置证书
curl_setopt($ch,CURLOPT_CAINFO,'证书路径/证书文件'); 

缺点:一个是没有证书,另一个当我们引用一些SDK不需要自己编写curl请求时,需要修改SDK非常麻烦

第二种在php.ini配置:

openssl.cafile = "D:\phpstudy_pro\Extensions\php\php7.1.9nts\ext\cacert.pem"

# curl.cainfo = "D:\phpstudy_pro\Extensions\php\php7.1.9nts\ext\cacert.pem"

后面是你的pem证书路径即可,curl.cainfo这一项可以开启或者不开启,看个人需要。

另外需要注意:

在5.3之前的php版本中,环境不会自行去php.ini中读取openssl.cafile与curl.cainfo两个配置项,所以在5.3以前版本的php.ini文件中都没有预设这两项。在5.3+以上版本,环境会自动去读取php.ini的openssl.cafile与curl.cainfo两个配置项,所以我们经常能看到php.ini文件已经预设了这两项,只需要开启,填写正确的路径即可。

pem证书可以去此地址自行下载:https://curl.haxx.se/docs/caextract.html

本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

开发项目curl发起https请求,cURL error 60: SSL certificate problem: unable to get local issuer cert提示找不到本地证书错误 的相关文章

  • 让登录更安全

    我已使用此代码进行管理员登录 仅当用户输入正确的用户名和密码时才应打开loginhome php 但后来我意识到这根本不安全 任何人都可以直接访问 mywebsite loginhome php 而无需登录 注销后 可以使用后退按钮打开 l
  • 检查php中位字段是否打开的正确方法是什么

    检查位字段是否打开的正确方法是什么 在 php 中 我想检查来自 db mysql 的位字段是否打开 这是正确的方法吗 if bit 1 还有其他方法吗 我看到有人使用代码ord http jameslow com 2008 08 12 m
  • 删除PHP字符串中所有不匹配的字符?

    我有一个文本 我想从中删除所有不属于以下字符的字符 所需字符 0123456789 abcdefghijklmnopqrstuvwxyz n 最后一个是我确实想保留的 n 换行符 要匹配除列出的字符之外的所有字符 请使用反转字符集 http
  • 重定向而不改变url

    我总是不喜欢 htaccess 我正在尝试建立一个所有请求都通过index php 的网站 但我希望URL 类似于www sample com home 该网址实际上会加载 www sample com index php page hom
  • 单词之间没有空格的语言(例如亚洲语言)中的断词?

    我想让 MySQL 全文搜索适用于日语和中文文本以及任何其他语言 问题在于这些语言以及可能其他语言通常在单词之间没有空格 当您必须键入与文本中相同的句子时 搜索没有用 我不能只在每个字符之间添加空格 因为英语也必须有效 我想用 PHP 或
  • PHP 会话不适用于游戏

    我正在尝试模仿一款名为 SKUNK 用骰子玩 的游戏来完成一项作业 我无法让会话正常工作 这是我第一次使用 PHP 我还被告知无需会议即可完成 这是我的代码
  • Woocommerce 让产品显示在存档页面中

    我正在尝试让所有产品显示在我商店的存档页面中 我想知道他们的id我正在使用我的一个钩子 它在 wp head 上运行并检查 if is product category 我想以某种方式访问 产品的查询并获取它们的 ID if is prod
  • PHP严格标准:声明应该兼容

    我有以下类层次结构 class O Base class O extends O Base abstract class A Abstract public function save O Base obj class A extends
  • 如何使用 php 下载/打印页面的特定部分

    我有一个 HTML 页面如下 Lorem Ipsum is simply dummy text of the printing and typesetting industry Lorem Ipsum has been the indust
  • 从 smarty 访问 PHP 文件的变量(本地或全局)

    我有一个 php 文件 其中包含一些本地和全局变量 例如 foo 从此文件中调用 smarty 对象 如何在不更改 PHP 文件的情况下从 smarty 脚本访问 foo Thanks 如果你有一个名为 BASE 的常量变量 并且定义如下
  • 从 .phar 存档中提取文件

    对于 Phar 文件 我完全错过了一些东西 我正在安装一个需要 phpunit pdepend 和其他依赖项的项目 我将它们作为 phar 文件获取 但是 我无法使用命令行工具 php 命令 从中提取文件 我用谷歌搜索了这个问题 但没有发现
  • PHP preg_filter 返回意外的长值

    尝试在 Woocommerce 中删除标签并过滤值 但无法以正确的格式获取它 有东西有腥味 我正在使用WC gt cart gt get cart subtotal 来检索该值 在此示例中 我的值是 2 429kr 原始返回值是 span
  • Woocommerce 结账自定义选择字段

    我有以下功能 将选择列表添加到 woo commerce 结账表单中 woocommerce form field airport pickup array type gt select class gt array airport pic
  • PHP 中只保留数组的前 N ​​个元素? [复制]

    这个问题在这里已经有答案了 有没有办法只保留数组的前 N 个 例如 10 个 元素 我知道有array pop 但是有没有更好 更优雅的方法呢 您可以使用array slice http php net array slice or arr
  • 使用 Ajax.Request 将 JSON 从浏览器传递到 PHP 的最佳方法

    您好 我有一个 JSON 对象 它是一个二维数组 我需要使用 Ajax Request 将其传递给 PHP 我知道的唯一方法 现在我使用js函数手动序列化我的数组 并获取以下格式的数据 s 1 d 3 4等 我的问题是 有没有办法更直接 有
  • Laravel 中只向登录用户显示按钮

    如果我以 John 身份登录 如何才能只显示 John 的红色按钮而不显示 Susan 的红色按钮 测试系统环境 Win10 Laravel5 4 Mysql5 7 19 table class table table responsive
  • 一次播种多行 laravel 5

    我目前正在尝试为我的用户表播种 如果我像这样尝试 2 行 就会失败 如果我只使用单个数组而不是 users 数组内的 2 个数组来创建一些假数据 那么效果很好 我做错了什么 正确的方法是什么 class UserTableSeeder ex
  • 使用正则表达式提取两个短语之间的所有单词[重复]

    这个问题在这里已经有答案了 我正在尝试使用以下正则表达式提取两个短语之间的所有单词 b item W w W 0 2 1 one W w W 0 3 business b b item W w W 0 2 3 three W w W 0 3
  • ini_set 'session.gc_maxlifetime' 为 1 天

    If I do ini set session gc maxlifetime 86400 这是否意味着用户可以将浏览器留在同一页面 非活动状态 最多 1 天 而不必担心会话被垃圾收集并被注销 如果服务器配置不支持此功能会发生什么 它会给我一
  • 无法显示 Laravel 欢迎页面

    我的服务器位于 DigitalOcean 云上 我正在使用 Ubuntu 和 Apache Web 服务器 我的家用计算机运行的是 Windows 7 我使用 putty 作为终端 遵循所有指示https laracasts com ser

随机推荐

  • Elasticsearch 的增删改查

    ES概念 Elasticsearch是一个开源的搜索引擎 分布式的实时文件存储 可以处理PB级结构化或非结构化数据 我们可以通过简单的RESTful API来完成各种操作 全文搜索 Full text Search 全文检索是指计算机索引程
  • 「考生说」不拼爹、不拼妈,拼自己,一样过的好

    哈佛图书馆凌晨四点半仍灯火通明 座无虚席 很多哈佛学生为了学业甚至通宵达旦的学习 球星科比的名言 你知道洛杉矶凌晨四点钟是什么样子吗 他们都能被称之为成功人士 但是他们依旧在大家看不见的地方默默努力着 那为什么我们依旧还在羡慕着那些拼爹 拼
  • pclpy有序点云的中值滤波:使用Python进行有序点云滤波

    pclpy有序点云的中值滤波 使用Python进行有序点云滤波 有序点云是一种在三维空间中按顺序存储的点集合 在许多应用中 需要对有序点云进行滤波以去除噪声和异常值 中值滤波是一个常用的方法 它可以有效地去除离群点 并且保持点云的形状不变
  • 寒假小复习4

    冒泡排序 public class Sort public static void main String args double nums 1 66 73 41 30 1 double temp for int i 0 i lt nums
  • 深入springMVC

    HTML 页面中的表单最初所采用 application x www form urlencode 编码方式 并不满足文件上传的需要 所以 RFC 1867 在此基础上增加了新的 multipart form data 编码方式以支持基于表
  • LRU算法(JAVA实现)

    一 算法介绍 最近最久未使用 Least Recently Used LRU 算法是 种缓存淘汰策略 它是大部分操作系统为最大化页面命中率而广泛采用的一种页面置换算法 该算法的思路是 发生缺页中断时 将最近一段时间内最久未使用的页面置换出去
  • Java static——拾遗

    Java static 拾遗 Java Static 作为修饰符 可以用来修饰变量 方法 代码块 但绝对不能修饰类 1 修饰变量 类的所有对象共同拥有的一个属性 也称为类变量 这类似于C语言中的全局变量 类变量在类加载的时候初始化 而且只被
  • Jenkins添加用户并授权

    添加用户 先选择系统管理1 再在右侧选择2 例如 注意 之后点击保存按钮 如果没有角色先去添加角色 设置完毕一般等待几分钟才可登录查看自己的功能权限 太早登录没任何功能
  • Excel下拉框样式

    1 打开要修改的Excel 选中要修改样式的单元格 2 在上边导航栏中选择 Data 找到 Data Validation 点击下面的 Data Validation 3 在设置中找到 Allow 项 选择 List Source中填写可供
  • 运行mvn -v后出现“cmd 不是内部或外部命令,也不是可运行的程序"

    1 下载maven 官网下载地址 http maven apache org download cgi 2 解压到软件安装目录 比如我解压到E java apache maven 3 5 0 bin apache maven 3 5 0 3
  • mysql中分组取创建时间最新的数据

    近期由于公司数据库升级 遇到了一个问题 以前写的SQL语句查询结果出现了异常 sql实现的功能 将数据以PID进行分组 在组内获取创建时间最新的数据 项目数据比较敏感写了一些测试数据 执行的sql语句 select from select
  • Android中使用jiecaovideoplayer播放视频

    每天学一点2020 5 13 Android 2 Android中使用jiecaovideoplayer播放视频 1 添加依赖 2 添加运行时的权限 3 布局 4 JCVideoPlayer使用 5 设置视频 Android中使用jieca
  • moviepy使用教程

    moviepy使用教程 一 剪辑成果 二 遇到问题 三 moviepy方法分享 一 音频剪辑方法 二 视频剪辑方法 一 剪辑成果 未来 二 遇到问题 尝试使用ffmpeg moviepy pydub 其中pydub主要是对音频的处理 mov
  • @Transactional注解的方法之间调用事务是否生效及其他事务失效场景总结

    对于方法之间调用 注解 Transaction生效以及失效的场景 首先 我们需要知道 Spring是通过代理管理事务的 方法和方法之间的调用分为两种情况 解决办法可在下面列举的不同场景中自取 1 不同类之间的方法调用 如类A的方法a 调用类
  • 三、python基础——六大基本数据类型

    目录 六大标准数据类型 1 数字 Number 不可变 1 1 数值的运算 2 字符串 String 不可变 2 1 介绍 2 2 操作 2 2 1 切片 2 2 2 转义字符 3 列表 List 3 1 介绍 3 2 操作 3 2 1 索
  • 关于CyclicBarrier的一些解释

    我在网上找了一些关于CyclicBarrier的一些解释 In a nutshell just to understand key functional differences between the two public class Co
  • 华为服务器怎么修改启动项,服务器启动项设置方法

    服务器启动项设置方法 内容精选 换一换 如果密码丢失 或创建时未设置密码 推荐您在控制台设置登录密码 有以下几种现象 将制作好的SD卡插入开发者板并上电后 开发者板LED1与LED2灯状态信息异常 将制作好的SD卡插入开发者板 并通过USB
  • std::true_type和std::false_type

    一 认识std true type和std false type std true type和std false type实际上是类型别名 源码如下 template
  • @vue/cli4.5.8搭建项目的坑

    先说下我使用脚手架4 5遇到的问题 使用GUI面板配置项目 脚手架版本4 5 8 安装好Element ui 运行结果如图所示 测试了很多次 还是有问题 最终的解决方案 卸载当前脚手架版本 npm uninstall g vue cli 安
  • 开发项目curl发起https请求,cURL error 60: SSL certificate problem: unable to get local issuer cert提示找不到本地证书错误

    个人开发的时候 在新建的环境 使用curl发起https请求 基本都是错误 需要专门配置 配置完成之后 经常会跟随一个小问题 cURL error 60 SSL certificate problem unable to get local