2011-08-25 4 views
7

ポート番号なしでphp curlリクエストを行うことができません。ポート番号でphp curlリクエストを行うことができません

カールしたときの端子http://www.sample.com:8088応答が正しく返されています。しかし、ないcurl_inf() を行う上でのPHPカールを通じて、私は私のコード

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からの応答を与えるが、ポート番号が指定されている場合セントのOSからの応答を与えていません。

解決方法を教えてください。

THanks in advance。

答えて

3

を試してみていることを確認しますセント/ etc/sysconfig/

彼はファイルselinuxを編集し、SELINUX = disabledを変更して再フォーマットしました。

# 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 

私の問題は解決しました。

+6

URLのポート番号を受け入れるようにcurlを取得するだけのSE Linuxを無効にすることは解決策にはなりませんが、一時的に回避することはできますが、長期的には絶対に回避することはできません。 – PvdL

3

の詳細情報を参照してください。このようにポートを設定してみ

curl_setopt($ch, CURLOPT_PORT, 8088); 

Curl_setopt参照

+0

のための問題を解決します。 でも同じ結果です。私もcurl_setopt($ ch、CURLOPT_PORT、8088)を削除してみました。 – druveen

15

を追加します。

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

か:

curl_setopt($ch, CURLOPT_PORT, 8088); 
2

ポート8080が、私はこの問題に、サーバー管理者に行って、彼は構成を変えセントOSに

を有効にしてこのcurl_setopt($ch, CURLOPT_PORT, 8088);

1

"setsebool httpd_can_network_connectに" 私がしますcurl_setopt($ chを、CURLOPT_PORT、8088)で試してみました私

+1

しかし、なぜですか?あなたの答えに何らかの説明を加えて、他の人がこれがなぜあなたのために働いたのかを知ってください。 – haindl

関連する問題