Heim > Backend-Entwicklung > PHP-Tutorial > Wie kann ich in PHP mehrere cURL-Anfragen gleichzeitig ausführen?

Wie kann ich in PHP mehrere cURL-Anfragen gleichzeitig ausführen?

DDD
Freigeben: 2024-10-30 14:09:11
Original
773 Leute haben es durchsucht

How Can I Execute Multiple cURL Requests Simultaneously in PHP?

Asynchrone Curl-Anfragen in PHP

In PHP kann die gleichzeitige Ausführung mehrerer cURL-Anfragen eine Herausforderung sein. Dies kann zu inkonsistentem Verhalten führen und einige Anfragen können nicht ausgeführt werden. Um dieses Problem anzugehen, gibt es zwei Hauptansätze: die Verwendung asynchroner/paralleler Verarbeitungsbibliotheken oder die Verwendung der integrierten asynchronen cURL-Funktionen.

1. Asynchrones cURL

Um die integrierten Funktionen zu nutzen, können Sie Folgendes implementieren:

<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>
Nach dem Login kopieren

2. pThreads

pThreads ist eine beliebte Threading-Bibliothek für PHP. So verwenden Sie es:

<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>
Nach dem Login kopieren

Mit diesen Ansätzen können Sie mehrere cURL-Anfragen gleichzeitig ausführen und so sicherstellen, dass sie alle zeitnah ausgeführt werden.

Das obige ist der detaillierte Inhalt vonWie kann ich in PHP mehrere cURL-Anfragen gleichzeitig ausführen?. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!

Quelle:php.cn
Erklärung dieser Website
Der Inhalt dieses Artikels wird freiwillig von Internetnutzern beigesteuert und das Urheberrecht liegt beim ursprünglichen Autor. Diese Website übernimmt keine entsprechende rechtliche Verantwortung. Wenn Sie Inhalte finden, bei denen der Verdacht eines Plagiats oder einer Rechtsverletzung besteht, wenden Sie sich bitte an admin@php.cn
Beliebte Tutorials
Mehr>
Neueste Downloads
Mehr>
Web-Effekte
Quellcode der Website
Website-Materialien
Frontend-Vorlage