首頁  >  文章  >  後端開發  >  如何在 PHP 中同時執行多個 cURL 請求?

如何在 PHP 中同時執行多個 cURL 請求?

DDD
DDD原創
2024-10-30 14:09:11662瀏覽

How Can I Execute Multiple cURL Requests Simultaneously in PHP?

PHP 中的非同步 Curl 請求

在 PHP 中,同時執行多個 cURL 請求可能具有挑戰性。這可能會導致行為不一致,導致某些請求無法執行。為了解決這個問題,主要有兩種方法:使用非同步/並行處理庫或利用內建的非同步 cURL 函數。

1.非同步cURL

要使用內建函數,您可以實現以下內容:

<code class="php">$mh = curl_multi_init();
curl_multi_add_handle($mh, $ch1);
curl_multi_add_handle($mh, $ch2);

$active = null;
//execute the handles
do {
    $mrc = curl_multi_exec($mh, $active);
} while ($mrc == CURLM_CALL_MULTI_PERFORM);

while ($active &amp;&amp; $mrc == CURLM_OK) {
    if (curl_multi_select($mh) != -1) {
        do {
            $mrc = curl_multi_exec($mh, $active);
        } while ($mrc == CURLM_CALL_MULTI_PERFORM);
    }
}
//close the handles
curl_multi_remove_handle($mh, $ch1);
curl_multi_remove_handle($mh, $ch2);
curl_multi_close($mh);</code>

2. pThreads

pThreads 是一個流行的PHP 執行緒函式庫。使用方法:

<code class="php">class Request1 extends Thread {
    public function run() {
        // Execute the first curl request
    }
}


class Request2 extends Thread {
    public function run() {
        // Execute the second curl request
    }
}

$req1 = new Request1();
$req1->start();
$req2 = new Request2();
$req2->start();</code>

這些方法可讓您同時執行多個 cURL 要求,確保它們全部及時執行。

以上是如何在 PHP 中同時執行多個 cURL 請求?的詳細內容。更多資訊請關注PHP中文網其他相關文章!

陳述:
本文內容由網友自願投稿,版權歸原作者所有。本站不承擔相應的法律責任。如發現涉嫌抄襲或侵權的內容,請聯絡admin@php.cn