2011-08-25 26 views
7

Tôi không thể thực hiện yêu cầu curl php với số cổng, không có số cổng tôi nhận được phản hồi đúng cách.Không thể thực hiện yêu cầu curl php với số cổng

Thông qua thiết bị đầu cuối khi tôi làm cong http://www.sample.com:8088 tôi nhận được phản hồi đúng cách. Nhưng không phải thông qua php curl trên làm curl_inf() tôi đang nhận được

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 ()) 

Mã của tôi

$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; 

mã này cho tôi phản hồi từ ubuntu, nhưng không đưa ra phản hồi từ os phần trăm nếu số cổng được quy định .

Vui lòng cho tôi biết cách khắc phục.

THanks trước.

Trả lời

3

tôi đã đi đến máy chủ quản trị với vấn đề này và ông đã thay đổi cấu hình trong centos

trong thư mục/etc/sysconfig/

ông chỉnh sửa tập tin selinux và thay đổi SELINUX = vô hiệu hóa và phục hồi nó.

# 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 

và sự cố của tôi đã được giải quyết.

+6

Vô hiệu hóa toàn bộ SE Linux chỉ để có được curl để chấp nhận số cổng trong URL không thể là một giải pháp, một tạm thời làm việc xung quanh tốt nhất nhưng hoàn toàn không phải cái gì đó cho lâu dài. – PvdL

3

Thêm

curl_setopt($ch, CURLOPT_PORT, 8088); 

Curl_setopt tham khảo

+0

tôi đã thử với curl_setopt ($ ch, CURLOPT_PORT, 8088); cũng có kết quả tương tự. Tôi cũng đã thử bằng cách loại bỏ curl_setopt ($ ch, CURLOPT_PORT, 8088); – druveen

15

Cố gắng thiết lập các cổng như thế này:

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

hay:

curl_setopt($ch, CURLOPT_PORT, 8088); 
2

Hãy chắc chắn rằng các cổng 8080 được kích hoạt trong hệ điều hành Cent

và cố gắng này curl_setopt($ch, CURLOPT_PORT, 8088);

1

"setsebool httpd_can_network_connect on" giải quyết vấn đề cho tôi

+1

Ok, nhưng tại sao? Vui lòng thêm một số giải thích cho câu trả lời của bạn để những người khác biết tại sao điều này lại hiệu quả với bạn. – haindl

Các vấn đề liên quan