2011-02-22 16 views
1

phpのcurl_multi_execを使用して複数のxmlリクエストを作成できません。PHP curl_multi_exec once once

問題は、curl_multi_execコマンドを含むdo ... whileループが1回だけ実行されて終了することです。使用さ

資源:

http://www.phpied.com/simultaneuos-http-requests-in-php-with-curl/ http://php.net/manual/en/function.curl-multi-exec.php/ http://www.rustyrazorblade.com/2008/02/curl_multi_exec/

私のコードを見てみましょう:

私は、単一のカール実行を実行すると正しい返信データを受け取るため、リクエストが有効であることがわかります。問題はcurl_multi_exec()にあります。

私が受け取っている出力は、curl_multi_getcontent()呼び出しの空の配列に続いて "Ran once"です。下記参照:

一度 アレイ ( [0] => 蘭[1] => [2] => [3] => [4] => [5] => [6] => [7] => [8] => )

ご協力いただきありがとうございます。

答えて

3

あなたは正しくcurlオプションを設定していない:あなたには、現在、あなたの配列です$chのオプションを設定している

、あなたは現在のカールハンドラに、具体的なオプションを設定する必要がありますループは$ch[$id]次のとおりです。

//Initialize and set options 
    curl_setopt($ch[$id], CURLOPT_URL,    $url); 
    curl_setopt($ch[$id], CURLOPT_HEADER,    0); 
    curl_setopt($ch[$id], CURLOPT_RETURNTRANSFER,  1); 
    curl_setopt($ch[$id], CURLOPT_POST,    1); 
    curl_setopt($ch[$id], CURLOPT_POSTFIELDS,  $request); 
+0

正確には何が間違っていますか? – fjordan

+0

私の答えは説明で更新されました – JamesHalsall

0

変更この:

foreach ($mh as $c) { 
    $code = curl_getinfo($c, CURLINFO_HTTP_CODE); 

に:

for($i=1;$i<=count($array);$i++){ 
    $code = curl_multi_getcontent($ch[$i]); 

$ arrayは、複数の$ urlの配列です。