Невозможно выполнить запрос php curl с номером порта


Я не могу выполнить запрос php curl с номером порта, без номера порта я получаю правильный ответ.

Через терминал, когда я делаю завиток http://www.sample.com:8088 я получаю ответ должным образом. Но не через php curl при выполнении curl_inf() я получаю

Array ( [url] => http://www.sample.com:8088/ [content_type] => [http_code] => 0 [header_size] => 0 [request_size] => 0 [filetime] => 0 [ssl_verify_result] => 0 [redirect_count] => 0 [total_time] => 0 [namelookup_time] => 0 [connect_time] => 0 [pretransfer_time] => 0 [size_upload] => 0 [size_download] => 0 [speed_download] => 0 [speed_upload] => 0 [download_content_length] => -1 [upload_content_length] => -1 [starttransfer_time] => 0 [redirect_time] => 0 [certinfo] => Array ( ) ) 

Мой код

$url = "http://www.sample.com:8088/";

$ch = curl_init();
curl_setopt($ch, CURLOPT_URL,$url);
curl_setopt($ch, CURLOPT_TIMEOUT, 400);
curl_setopt($ch, CURLOPT_FOLLOWLOCATION, True);
curl_setopt($ch, CURLOPT_RETURNTRANSFER, True);
$report=curl_getinfo($ch);
print_r($report);
$result = curl_exec($ch);
curl_close($ch);
echo $result;

Этот код дает мне ответ от ubuntu, но не дает ответа от ОС cent, если указан номер порта.

Пожалуйста, дайте мне знать, как исправь это.

Заранее благодарю.

Author: druveen, 2011-08-25

6 answers

Попробуйте установить порт следующим образом:

curl_setopt($ch, CURLOPT_PORT, $_SERVER['SERVER_PORT']);

Или:

curl_setopt($ch, CURLOPT_PORT, 8088);
 19
Author: Mário Rodrigues, 2017-10-17 14:28:20

Попробуйте установить

curl_setopt($ch,CURLOPT_PORT, 8088);

Смотрите дополнительную информацию http://php.net/manual/en/function.curl-setopt.php

 7
Author: Andrej Ludinovskov, 2011-08-25 10:47:17

Добавить

curl_setopt($ch, CURLOPT_PORT, 8088);

Curl_setopt ссылка

 3
Author: J0HN, 2011-08-25 10:47:23

Убедитесь, что порт 8080 включен в ОС Cent

И попробуйте это curl_setopt($ch, CURLOPT_PORT, 8088);

 2
Author: Kannan Prasad, 2011-08-25 11:44:34

Я обратился к администратору сервера с этой проблемой, и он изменил конфигурацию в centos

В папке /etc/sysconfig/

Он отредактировал файл selinux и изменил SELINUX=отключен и пересмотрел его.

# This file controls the state of SELinux on the system.
# SELINUX= can take one of these three values:
#     enforcing - SELinux security policy is enforced.
#     permissive - SELinux prints warnings instead of enforcing.
#     disabled - No SELinux policy is loaded.
SELINUX=disabled

И моя проблема была решена.

 2
Author: druveen, 2011-08-25 12:38:41

"setsebool httpd_can_network_connect вкл." решает проблему для меня

 1
Author: Giorgi, 2016-12-06 13:27:45