curl работает в командной строке, а не в PHP

Я запускаю Drupal 8 на Fedora R 28 с Apache/2.4.39 с PHP 7.2.18. Моя функция 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

person Don Pickerel    schedule 08.11.2019    source источник


Ответы (1)


Оказывается, мне нужно было включить исходящие соединения. Не уверен, почему это не понадобилось для вызовов командной строки. Вероятно, он был отключен, когда я перезагрузил сервер.

setsebool httpd_can_network_connect true

Подробнее:

person Don Pickerel    schedule 08.11.2019