Heim >Backend-Entwicklung >PHP-Tutorial >Wie implementiert man asynchrone cURL-Anfragen in PHP?

Wie implementiert man asynchrone cURL-Anfragen in PHP?

Patricia Arquette
Patricia ArquetteOriginal
2024-11-02 13:55:03638Durchsuche

How to Implement Asynchronous cURL Requests in PHP?

Asynchrone cURL-Anfragen in PHP

Das Ausführen paralleler Curl-Anfragen kann für die Leistungsoptimierung von Vorteil sein. Dieser Artikel bietet Einblicke in das Erreichen einer asynchronen Ausführung mit verschiedenen Methoden.

Asynchrone cURL

Die asynchrone Ausführung mit den integrierten cURL-Funktionen erfordert den folgenden Ansatz:

<code class="php">curl_setopt($ch, CURLOPT_URL, $url);
 curl_setopt($ch, CURLOPT_FOLLOWLOCATION, 1);
 curl_setopt($ch, CURLOPT_RETURNTRANSFER, 1);
 curl_setopt($ch, CURLOPT_SSL_VERIFYPEER, false);
 curl_setopt($ch, CURLOPT_USERPWD, $api_onfleet);
 curl_setopt($ch, CURLOPT_HTTPAUTH, CURLAUTH_BASIC);
 curl_setopt($ch, CURLOPT_ENCODING, "");  
 curl_setopt($ch, CURLOPT_POST, true);
 curl_setopt($ch, CURLOPT_POSTFIELDS, $params);

$mh = curl_multi_init();
curl_multi_add_handle($mh,$session);
curl_multi_add_handle($mh,$ch);</code>

pThreads

pThreads bietet einen weiteren Ansatz für die asynchrone Ausführung:

<code class="php">class Request1 extends Thread {
    public function run() {
        // Your code here
    }
}

class Request2 extends Thread {
    public function run() {
        // Your code here
    }
}

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

Empfohlene Lektüre

  • [curl_multi_init()](https://www.php.net/manual/en/function.curl-multi-init.php)
  • [curl_multi_exec()](https://www. php.net/manual/en/function.curl-multi-exec.php)
  • [curl_multi_add_handle()](https://www.php.net/manual/en/function.curl-multi- add-handle.php)
  • [class::Thread](https://www.php.net/manual/en/class.thread.php)
  • [Thread::start ](https://www.php.net/manual/en/thread.start.php)

Das obige ist der detaillierte Inhalt vonWie implementiert man asynchrone cURL-Anfragen in PHP?. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!

Stellungnahme:
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