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


相关推荐

  • 企业微信机器人定时发送信息

    企业微信机器人定时发送信息企业微信可以配置机器人,提升办公效率,还能实现一键群发和定时发送等功能。

    2022年6月16日
    43
  • 浅谈手机杀毒软件及手机病毒管理_防手机病毒杀毒软件

    浅谈手机杀毒软件及手机病毒管理_防手机病毒杀毒软件十一国庆长假刚过,又传出爆发手机病毒.到底有没有手机病毒??是手机杀毒软件公司的忽悠,还是真有手机病毒?很多资深IT人士都曾暴料,手机病毒是吹出来的根本不存在,因为智能手机操作系统都不相同,智能手机塞班、苹果OS、WM等平台的内部程序都是不对外公开的.纵使国内的山寨iphone外壳模仿得再像,但其内部的操作界面是无论如何做不出类似OS那样华丽的效果的;再有,各大手机系统都互不兼容,想要做到病毒

    2022年9月24日
    2
  • 字符串分割与拼接「建议收藏」

    字符串分割与拼接「建议收藏」.字符串分割与拼接//@””   空的字符串对象     ——-分割     NSString * ptr = @”I am a man”;     NSArray * array = [ptr componentsSeparatedByString:@” “];//将字符串整体作为分割条件 返回值为NSArray不可变数组     NSMutableArray * array1 = 

    2022年5月8日
    40
  • 如何查看Vue项目vue的版本号

    如何查看Vue项目vue的版本号如果是用vue-cli创建的项目,则找到项目根目录下的”package.json”文件如果是要查看vue-cli的版本号的话,则键盘Win+R,输入cmd,再在cmd里面输入vue-V

    2022年5月20日
    65
  • 读取位置时发生访问冲突0xC0000005_应用程序异常0xc0000409

    读取位置时发生访问冲突0xC0000005_应用程序异常0xc0000409转首先排除一种小概率事件就是系统冲突导致的,比如系统盘目录存在类似的第三方库文件,程序运行将崩溃,并报错0xC0000005:读取位置0x00000000时发生访问冲突。上面的意思就是你吧值付给了不该赋给的变量,或者说你把值付给了不能付给的变量(或者常量)(1)最简单也最直接的错误可能就是scanf()的问题,我们都知道输入的时候都是scanf(“%格式”,&变量),那…

    2022年10月3日
    3
  • navicat15 激活码【注册码】

    navicat15 激活码【注册码】,https://javaforall.net/100143.html。详细ieda激活码不妨到全栈程序员必看教程网一起来了解一下吧!

    2022年3月20日
    45

发表回复

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

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