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)
全栈程序员-站长的头像全栈程序员-站长


相关推荐

  • navicat15免费激活码_最新在线免费激活2022.01.26

    (navicat15免费激活码)最近有小伙伴私信我,问我这边有没有免费的intellijIdea的激活码,然后我将全栈君台教程分享给他了。激活成功之后他一直表示感谢,哈哈~IntelliJ2021最新激活注册码,破解教程可免费永久激活,亲测有效,下面是详细链接哦~https://javaforall.net/100143.html…

    2022年3月31日
    70
  • 《译 SFML Essentials 英文版》—— 《第一章》 SFML 入门

    《译 SFML Essentials 英文版》—— 《第一章》 SFML 入门目录创建窗口VideoModeStyleContextSettingsDisablingthemousecursor(禁用鼠标光标)Thegameloop Eventhandling(处理事件)WindowrelatedeventsKeyboardrelatedeventsMouserelatedeventsjoystick…

    2025年7月28日
    3
  • java中getclassloader,ClassLoader getClassLoader()

    java中getclassloader,ClassLoader getClassLoader()ClassLoadergetClassLoader()描述(Description)java.lang.Class.getClassLoader()方法返回类的类加载器。某些实现可能使用null来表示引导类加载器。如果此类由引导类加载器加载,则此方法将在此类实现中返回null。声明(Declaration)以下是java.lang.Class.getClassLoader()方法的声…

    2022年4月30日
    75
  • lock free 之 stack

    lock free 之 stack第二个例子(和第一个一样,没加注释,均是消费者需要判断生产者还在生产吗),在实际中,可以考虑使用这个模型,比起我前面写的数据队列来说,用boost::lockfree可以大大减轻工作,这也是今年要努力掌握boost的一个理由#include#include#include#includeboost::atomic_intproducer_count(0);boost::a

    2022年7月19日
    24
  • 如何访问他人电脑上的共享文件夹

    如何访问他人电脑上的共享文件夹

    2021年10月9日
    169
  • 什么是Scrum的增量?

    什么是Scrum的增量?英文原文 WhatisanIncr 了解 Scrum 工件 增量 increment 如 Scrum 指南中所述 Increment 是 Sprint 期间完成的所有 ProductBackl 项目的总和 以及所有先前 Sprint 的增量值 在 Sprint 结束时 新增量必须是 完成 这意味着它必须处于可用

    2025年11月9日
    3

发表回复

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

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