PHP CURL GET HTTPS报错SSL certificate problem: unable to get local issuer certificate

PHP CURL GET HTTPS报错SSL certificate problem: unable to get local issuer certificate请求HTTP使用phpcurl获取http资源,不会报错。如下:<?php//创建curl资源$ch=curl_init();//设置urlcurl_setopt($ch,CURLOPT_URL,"baidu.com");//将Transfer作为字符串返回curl_setopt($ch,CURLOPT_RETURNTRANSFER,1);//执…

大家好,又见面了,我是你们的朋友全栈君。如果您正在找激活码,请点击查看最新教程,关注关注公众号 “全栈程序员社区” 获取激活教程,可能之前旧版本教程已经失效.最新Idea2022.1教程亲测有效,一键激活。

Jetbrains全家桶1年46,售后保障稳定

请求HTTP

使用php curl获取http资源,不会报错。
如下:

<?php
// 创建curl资源
$ch = curl_init(); 
// 设置url
curl_setopt($ch, CURLOPT_URL, "baidu.com"); 
// 将Transfer作为字符串返回
curl_setopt($ch, CURLOPT_RETURNTRANSFER, 1);
// 执行并输出
$output = curl_exec($ch); 
// 查看错误
$error = curl_error($ch);
echo $error;
// 释放curl资源
curl_close($ch); 

Jetbrains全家桶1年46,售后保障稳定

请求HTTPS

但是如果请求HTTPS的时候,默认会报错:

SSL certificate problem: unable to get local issuer certificate

这是因为HTTPS需要证书认证,如果本地没有装,就会报这个错误,我们可以把这个认证关掉。

<?php
// 创建curl资源
$ch = curl_init(); 
// 设置url
curl_setopt($ch, CURLOPT_URL, "https://github.com/search?q=react"); 
// 将Transfer作为字符串返回
curl_setopt($ch, CURLOPT_RETURNTRANSFER, 1);
// 关闭SSL验证
curl_setopt($ch, CURLOPT_SSL_VERIFYPEER, 0);
curl_setopt($ch, CURLOPT_SSL_VERIFYHOST, 0);
// 执行并输出
$output = curl_exec($ch); 
// 查看错误
$error = curl_error($ch);
echo $error;
// 释放curl资源
curl_close($ch);  

配置HTTS

另外的一种解决办法,就是配置上HTTPS,找到证书:

http://curl.haxx.se/ca/cacert.pem
下载pem文件。

在PHP配置文件(php.ini)里配置PEM文件目录位置。

curl.cainfo = "path\to\cacert.pem"

参考:http://php.net/manual/zh/function.curl-setopt.php

版权声明:本文内容由互联网用户自发贡献,该文观点仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请联系我们举报,一经查实,本站将立刻删除。

发布者:全栈程序员-站长,转载请注明出处:https://javaforall.net/230835.html原文链接:https://javaforall.net

(0)
上一篇 2025年6月17日 上午8:22
下一篇 2025年6月17日 上午9:01


相关推荐

  • Pycharm配置opencv与numpy

    Pycharm配置opencv与numpy下载 opencv 与 numpy 的官网链接 https www lfd uci edu gohlke pythonlibs opencv 下载与 Python 版本和电脑操作系统版本相符合的 whl 文件 cp 后面的数字代表 python 版本 如 python3 8 的版本就是 cp38 python3 9 的版本就是 cp3 8 win 后面的就代表操作系统位数了 我的操作系统是 64 位 python 版本是 3 9 5 因此我下载的就是以下两个文件 下面介绍导入 opencv 的方法

    2026年3月27日
    2
  • SIGTERM和SIGINT的含义

    SIGTERM和SIGINT的含义SIGHUP nbsp nbsp nbsp nbsp 终止进程 nbsp nbsp nbsp nbsp 终端线路挂断 SIGINT nbsp nbsp nbsp nbsp 终止进程 nbsp nbsp nbsp nbsp 中断进程 SIGQUIT nbsp nbsp 建立 CORE 文件终止进程 并且生成 core 文件 SIGILL nbsp nbsp 建立 CORE 文件 nbsp nbsp nbsp nbsp nbsp nbsp 非法指令 SIGTRAP nbsp nbsp 建立 CORE 文件 nbsp nbsp nbsp nbsp nbsp nbsp 跟踪自陷 SIGBUS nbsp nbsp 建立 CORE 文件 nbsp nbsp nbsp nbsp nbsp nbsp 总线错误 SIGSEGV nbsp nbsp 建立 CORE 文件 nbsp nbsp

    2026年3月16日
    3
  • android随机生成字符串,Android随机字符串生成器

    android随机生成字符串,Android随机字符串生成器10 个答案 答案 0 得分 49 问题是你只处理了一个字符而不是使用循环 你可以创建一个字符数组 其中包含你希望允许在随机字符串中的所有字符 然后在循环中从数组中取一个随机位置并添加附加到 stringBuilde 最后 将 stringBuilde 转换为字符串 编辑 这是我建议的简单算法 privatestati CHARACTERS 01

    2026年3月16日
    2
  • 详解redis 中Pipeline流水线机制

    详解redis 中Pipeline流水线机制

    2022年2月20日
    66
  • Java遍历数组逗号的使用[通俗易懂]

    Java遍历数组逗号的使用[通俗易懂]1.错误示例当直接拼接”,”号会在结尾也输出多余的”,”号输出示例2正确示例用判断语句来写当x等于(arr.length的长度-1)满足时,也就是数组arr[4],会在arr[4]后面输出一个”]”号,//(至于为什么不是在arr[4]前面输出”]”,参考java基本结构:顺序结构)当这个条件不满足才会输出”,”号输出示例我是java自学小萌新【闲云】…

    2026年1月26日
    3
  • 一种成熟的MODBUS上位机软件(MThings) 永久免费中文,可用于调试测试工具助手

    一种成熟的MODBUS上位机软件(MThings) 永久免费中文,可用于调试测试工具助手一种成熟的 MODBUS 调试测试工具助手软件 MThings 免费中文现有 MODBUS 调测软件种类丰富 基本可以满足日常调测需求 但是面对用户群体对高效灵活友好的进一步需求都存在着差距 MThings 是一款全新的标准化 MODBUS 调测工具 提供主从机一体化操作 全功能覆盖 MODBUSPollSl 功能全网最强

    2026年3月19日
    2

发表回复

您的邮箱地址不会被公开。 必填项已用 * 标注

关注全栈程序员社区公众号