如何解决php curl 错误码7的问题

php curl错误码7的解决办法:1、打开selinux目录下的config文件;2、找到config文件中的“SELINUX=enforcing”这行;3、更改“SELINUX=disabled”;4、重启服务器。

如何解决php curl 错误码7的问题

本文操作环境:Windows7系统、PHP7.1版,DELL G3电脑

如何解决php curl 错误码7的问题?php – 如何解决CURL错误( 7 ): 无法连接到主机?

1. 问题描述

调用第三方接口,本地调用一切ok,线上调用失败!

 本地通过curLRequest()方法调用第三方接口时,curl_errno()方法返回结果为0,显示调用成功,线上curl_errno()方法返回结果为7,调用失败。

环境:

立即学习“PHP免费学习笔记(深入)”;

本地wamp,线上lnmp

  为了排除环境问题,在服务器上cmd执行curl函数对第三方接口进行了post请求,发现调用成功!调用脚本入下:

curl -i -X POST -H 'Accept:application/json' -H 'Content-Type:application/json;charset=utf-8' -H 'Authorization:**********************=' -d '{"voipAccount":"*********"}' 第三方接口的URL

登录后复制

调用第三方接口关键代码:

  /**     * @param $requestUrl | String 请求的地址     * @param bool $https     * @param $headerInfo | array 头文件信息     * @param string $rquestMethod | String 请求类型     * @param $requestData | json 发送请求的数据     * @return mixed     */    public function curLRequest($requestUrl,$requestData,$https=true,$rquestMethod='post')    {        $headerInfo=[            'Accept:application/json',            'Content-Type:application/json;charset=utf-8',            'Authorization:'.self::$auth        ];        $ch = curl_init();//初始化        curl_setopt($ch, CURLOPT_URL, $requestUrl);//设置访问的URL        curl_setopt($ch, CURLOPT_USERAGENT, $_SERVER['HTTP_USER_AGENT']); // 模拟用户使用的浏览器        curl_setopt($ch, CURLOPT_HTTPHEADER, $headerInfo); // 设置头信息        curl_setopt($ch, CURLOPT_RETURNTRANSFER, true);//只获取页面内容,但不输出        if($https){            curl_setopt($ch, CURLOPT_SSL_VERIFYPEER, false);//不做服务器认证            curl_setopt($ch, CURLOPT_SSL_VERIFYHOST, false);//不做客户端认证        }        if($rquestMethod == 'post'){            curl_setopt($ch, CURLOPT_POST, true);//设置请求是POST方式            curl_setopt($ch, CURLOPT_POSTFIELDS, $requestData);//设置POST请求的数据        }        $str = curl_exec($ch);//执行访问,返回结果        if(curl_errno($ch)){            Log::write('结果=========================================================:'.curl_errno($ch));            return ['statuscode' => -1, 'data' => 'curl请求错误,错误码为'.curl_errno($ch)];        }        Log::write('结果=========================================================:'.curl_errno($ch));        Log::write('返回结果:'.$str);        curl_close($ch);//关闭curl,释放资源        return json_decode($str,true);    }

登录后复制

经过各种排查,代码无误,我的问题为线上环境的相关配置问题。

2. 解决办法

①打开selinux目录下的config文件 

nano /etc/selinux/config

登录后复制

②找到config文件中的SELINUX=enforcing这行

③更改SELINUX=disabled

④保存,退出,重启服务器

3.小结

CURL错误 7未能连接到权限被拒绝”错误是由于CURL请求被某些防火墙或者类似的东西阻塞时造成的。

当curl请求与标准端口不匹配时,你将面临这个问题。

例如如果你在端口 1234上做了 curl,那么你将面临这个问题,因为端口 80的URL会给你带来很容易的结果。

最常见的这个错误已经在CentOS和其他带有’selinux’的操作系统上看到了。

你需要禁用或者将’selinux’改为允许

推荐学习:《PHP视频教程》

以上就是如何解决php curl 错误码7的问题的详细内容,更多请关注【创想鸟】其它相关文章!

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

发布者:PHP中文网,转转请注明出处:https://www.chuangxiangniao.com/p/2108891.html

(0)
上一篇 2025年2月24日 15:24:25
下一篇 2025年2月23日 08:08:56

AD推荐 黄金广告位招租... 更多推荐

相关推荐

  • PHP与Memcache配合使用,让网站速度提升数倍

    php与memcache配合使用,让网站速度提升数倍 随着互联网的快速发展,网站的访问量不断增加,对网站性能的要求也越来越高。为了提高网站的性能,降低服务器的负载压力,我们可以使用缓存技术来减少数据库查询等操作的次数。在PHP开发中,Mem…

    数据库 2025年2月24日
    100
  • linux php不能上传文件夹怎么办

    linux php不能上传文件夹的解决方法:1、在mount的目录里面建立一个upload_tmp文件夹;2、把“upload_tmp_dir=”设置成“website/upload_tmp”;3、重启apache即可。 本文操作环境:li…

    2025年2月24日
    200
  • 怎么安装php类库

    安装php类库的方法:1、下载“go-pear.phar”文件;2、执行“php go-pear.phar”命令;3、一直按Enter即可。 本文操作环境:windows7系统、PHP7.1版,DELL G3电脑 怎么安装php类库? 安装…

    2025年2月24日
    200
  • php do while语句的用法是什么

    php do while语句会至少执行一次代码,然后检查条件,只要条件成立,就会重复进行循环;do while语句的使用语法是“do{要执行的代码;}while (条件);”。 本文操作环境:Windows7系统、PHP7.1版,DELL …

    2025年2月24日
    200
  • 怎么安装php fileinfo扩展

    安装php fileinfo扩展的方法:1、找到PHP安装源目录;2、解析使用phpize释放fileinfo模块;3、编译安装;4、重启PHP即可。 本文操作环境:Centos7.6系统、PHP7.3版,DELL G3电脑 怎么安装php…

    2025年2月24日 编程技术
    200
  • 如何解决php fputcsv 乱码问题

    php fputcsv乱码的解决办法:1、将header函数放在fopen之前;2、通过“fopen(‘php://output’, ‘a’);”直接输出到浏览器;3、在写入的第一个字符串开头…

    2025年2月24日
    200
  • 刨析PHP数据缓存的工作原理及应用场景

    刨析PHP数据缓存的工作原理及应用场景 随着互联网技术的不断发展,用户访问量的大幅增加,对于数据的处理能力和效率要求也越来越高。在PHP开发中,数据缓存技术被广泛应用,可以有效地提高网站性能和用户体验。本文通过分析PHP数据缓存的工作原理,…

    2025年2月24日
    200
  • php怎么实现小说阅读功能

    php实现小说阅读功能的方法:1、解析TXT文件,生成章节内容;2、获取章节列表,实现获取章节内容接口即可。 本文操作环境:Windows7系统、PHP7.1版,DELL G3电脑 php怎么实现小说阅读功能? php实现TXT小说章节解析…

    2025年2月24日
    200
  • PHP数据缓存的并发性能优化探析

    PHP数据缓存的并发性能优化探析 引言:随着互联网应用规模的扩大和用户访问量的增加,高并发访问成为了一个日益突出的问题。而对于PHP这种脚本语言来说,由于没有线程和进程的支持,如何提高其在高并发场景下的性能成为了一个挑战。本文将围绕并发性能…

    2025年2月24日
    200
  • php怎么实现微信支付

    php实现微信支付的方法:1、将官方的demo下载下来;2、修改curl网络请求配置代码;3、完成基本信息设置;4、修改WxPay.Notify.php文件;5、进行公众号后台设置;6、完成支付流程即可。 本文操作环境:Windows7系统…

    2025年2月24日 编程技术
    200

发表回复

登录后才能评论