2016-09-15 11 views
2

私はちょっとしたカールスクリプトを作っていて、localhostでそれを実行している間に期待どおり動作しますが、サーバでこれを実行すると接続タイムアウトが発生します。curl php urlはローカルで正常に動作し、サーバ上で応答しません

endpoint_token = https://ngf.rhm.cloud:8244/tokenです。

$curl = curl_init($this->endpoint_token); 
     curl_setopt($curl, CURLOPT_HEADER, true); 
     curl_setopt($curl, CURLOPT_RETURNTRANSFER, true); 
     curl_setopt($curl, CURLOPT_POST, true); 
     curl_setopt($curl, CURLOPT_HEADER,'Content-Type: application/json'); 
     curl_setopt($curl, CURLOPT_SSL_VERIFYPEER, false); 
     $postData = ""; 

     foreach($this->params as $k => $v) 
     { 
      $postData .= $k . '='.urlencode($v).'&'; 
     } 

     $postData = rtrim($postData, '&'); 

     curl_setopt($curl, CURLOPT_POSTFIELDS, $postData); 


     $json_response = curl_exec($curl); 

期待されるローカルホストとして機能しますが、サーバーで何もしないのはなぜですか?

+3

を参照しようとするには、発信HTTP接続を行うことが許可され、サーバーのですか?またはあなたのサーバーがendpoint_token URLに接続することを許可されていますか? –

+0

@MarcBこれを簡単に確認する方法はありますか? – Jeffrey

+0

他のサイトへのカール接続を開始します。それらの作品は、あなたのURLではなく、あなたのサーバーが何らかの形でブロックされている場合。他のサイトが動作しない場合は、他のアプリを試してみてください。例えばシェルを開いてどこかのポート80にtelnet接続しようとするか、コマンドラインcurl/wgetを使用してください。多分Webサーバプロセスが発信接続を開かないようにファイアウォールされているかもしれません。何も動作しない場合、すべての発信接続要求はブロックされます。 –

答えて

1
// Check for errors and display the error message 
if($errno = curl_errno($curl)) { 
    $error_message = curl_strerror($errno); 
    echo "cURL error ({$errno}):\n {$error_message}"; 
} 

エラー

+0

は既にそれを試しました、errno 7、接続タイムアウト – Jeffrey

関連する問題