curl在命令行上有效,而不在PHP

时间:2019-11-08 21:53:38

标签: php php-curl

我正在Fedora R 28上运行Drupal 8,该Fedora R 28运行带有PHP 7.2.18的Apache / 2.4.39。 我的php curl功能失败,但命令行测试正常。

curl显示在phpinfo()中,在20-curl.ini中定义,并且在任何日志文件中均不显示任何错误。 我尝试了两种不同的SSL证书。 测试又带来了绚丽的色彩。

协议 TLS 1.3否 TLS 1.2是 TLS 1.1是 TLS 1.0是 SSL 3否 SSL 2否

我得到的是: cURL错误(7):  无法连接到服务器

echo 'Curl: ', function_exists('curl_version') ? 'Enabled' : 'Disabled'

返回启用状态。

array(26) {
  ["url"]=>
  string(23) "http://www.example.com/"
  ["content_type"]=>
  NULL
  ["http_code"]=>
  int(0)
  ["header_size"]=>
  int(0)
  ["request_size"]=>
  int(0)
  ["filetime"]=>
  int(-1)
  ["ssl_verify_result"]=>
  int(0)
  ["redirect_count"]=>
  int(0)
  ["total_time"]=>
  float(0.000437)
  ["namelookup_time"]=>
  float(0.004549)
  ["connect_time"]=>
  float(0)
  ["pretransfer_time"]=>
  float(0)
  ["size_upload"]=>
  float(0)
  ["size_download"]=>
  float(0)
  ["speed_download"]=>
  float(0)
  ["speed_upload"]=>
  float(0)
  ["download_content_length"]=>
  float(-1)
  ["upload_content_length"]=>
  float(-1)
  ["starttransfer_time"]=>
  float(0)
  ["redirect_time"]=>
  float(0)
  ["redirect_url"]=>
  string(0) ""
  ["primary_ip"]=>
  string(0) ""
  ["certinfo"]=>
  array(0) {
  }
  ["primary_port"]=>
  int(0)
  ["local_ip"]=>
  string(0) ""
  ["local_port"]=>
  int(0)
}
cURL error (7):
 Couldn't connect to server

1 个答案:

答案 0 :(得分:1)

原来,我需要启用出站连接。不知道为什么命令行调用不需要它。重新启动服务器时,它可能没有设置。

setsebool httpd_can_network_connect true

For more info: