gpt4 book ai didi

php - Apache 无法使用 curl 发出传出 HTTP 请求

转载 作者:行者123 更新时间:2023-12-03 23:22:01 25 4
gpt4 key购买 nike

考虑以下系统配置:

  • 软呢帽 27
  • 启用 SELinux
  • Apache/2.4.33
  • PHP 7.1.17

  • 下面的代码片段用于向 Sphere-Engine Compilers API 发出 http 请求:
    $ch = curl_init('http://xxxxxxxx.compilers.sphere-engine.com/api/v4/test?access_token=xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx');
    curl_setopt($ch, CURLOPT_CUSTOMREQUEST, 'GET');
    curl_setopt($ch, CURLOPT_RETURNTRANSFER, true);
    curl_setopt($ch, CURLOPT_TIMEOUT, 3.0);
    $x = curl_exec($ch);
    print_r($x);

    当我运行以下 CLI 时,上述脚本完全正常工作:
    php script.php

    我得到了预期的输出。

    但是,当我尝试通过网络浏览器运行它时,它会产生:

    CURLE_COULDNT_CONNECT (7) Failed to connect() to host or proxy.



    我发现了很多建议,例如添加
    curl_setopt($ch, CURLOPT_IPRESOLVE, CURL_IPRESOLVE_V4);

    这对我来说并不是真正的解决方案。关闭我会的 SELinux 不是 做。

    备注 :当我发出 URL 时,URL 本身工作正常,并且也给了我预期的输出。

    有什么建议?提前致谢。

    最佳答案

    试试这个,看看 SELinux 是否会让 web 服务器连接到网络:

    getsebool httpd_can_network_connect



    如果没有,请允许它

    setsebool -P httpd_can_network_connect on



    https://access.redhat.com/documentation/en-us/red_hat_enterprise_linux/7/html/selinux_users_and_administrators_guide/sect-managing_confined_services-the_apache_http_server-booleans

    关于php - Apache 无法使用 curl 发出传出 HTTP 请求,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/50807700/

    25 4 0
    Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
    广告合作:1813099741@qq.com 6ren.com