2017-03-07 16 views
0

私はそこにこのERRについていくつか同様の質問ですが、私はこのすべてを読みましたし、それはので、私の問題を解決していない知っている:cURLエラー28 - 接続がxミリ秒後にタイムアウトしました

私のPHPコード:

$curl_errno = curl_errno($ch); 
$curl_error = curl_error($ch); 

if($curl_errno > 0) { 
    echo "cURL Error ($curl_errno): $curl_error\n"; 
} 
:私は、エラーをこのようにチェックし

$url = 'example.domain.com/path/file.php' 
    $string = 'param=5'; 

    $ch = curl_init(); 

    // CURL options 
    curl_setopt($ch, CURLOPT_URL, $url); 
    curl_setopt($ch, CURLOPT_TIMEOUT, 10); 
    curl_setopt($ch, CURLOPT_RETURNTRANSFER, 1); 
    curl_setopt($ch, CURLOPT_HTTPHEADER, array('Content-Type: application/x-www-form-urlencoded', 'Content-Length: ' . strlen($string))); 
    curl_setopt($ch, CURLOPT_POSTFIELDS, $string); 

    return curl_exec($ch); 

$curl_errornoは10001ミリ秒

Plsのヘルプやいくつかの手掛かりを取得した後、接続を28と curl_errorタイムアウトになっています私は何を確認することができます。

localhostや他のサーバーからも(curlまたはfile_get_content)作業中です...ヒントはありますか?ローカルマシンから

  • 私はPHP経由でのcURL OK応答を取得〜4秒
  • サーバー(ホストサーバ)からの私は、エラー7を取得するシェルは、ポート80 example.domain.comへの接続に失敗しました:接続が
  • をタイムアウトしました
  • PHPで(ホストサーバから)file_get_contentsをしようとした場合 - 応答
  • URLは - 私はajax要求を作成した場合、ブラウザ(直接PHPファイル)
  • からアクセスできません - レスポンスがokです
  • 場合、私は、 URL httpまたはhttpsに追加しようとしています - 常に同じエラー
  • もし私が30秒に制限を設定しようとすると。同じ結果
+1

このように 'curl_setopt($ ch、CURLOPT_POST、1);'のようにCURL_POSTを1に設定する必要があります。これは問題の原因ではないかもしれませんが、これを行う必要があります。ああ、あなたはこれをやろうとしているPHPファイルへのリンクを提供できますか? – Zeus

+0

接続がちょうど立ち往生しているように見えるので、10秒後にタイムアウトします。 –

+0

リクエストが取ることができる最大時間は10に設定されました。 'CURLOPT_TIMEOUT'を20に増やすとどうなりますか?同じ結果ですか? –

答えて

0

これは、リクエストを送信しようとしているAPIが同時に多くの製品の送信を受け付けないためです。次に、PHPスリープ機能を入れる必要があるので、各送信された行の間に範囲が定義されます。コードにsleep(seconds of interval);を追加します。

関連する問題