ホームページ > バックエンド開発 > PHPチュートリアル > PHP で非同期 cURL リクエストを実装するにはどうすればよいですか?

PHP で非同期 cURL リクエストを実装するにはどうすればよいですか?

Patricia Arquette
リリース: 2024-11-02 13:55:03
オリジナル
663 人が閲覧しました

How to Implement Asynchronous cURL Requests in PHP?

PHP での非同期 cURL リクエスト

curl リクエストの並列実行は、パフォーマンスの最適化に有益です。この記事では、さまざまな方法を使用して非同期実行を実現する方法について説明します。

非同期 cURL

組み込み cURL 関数を使用した非同期実行には、次のアプローチが必要です。

<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 は、非同期実行のための別のアプローチを提供します:

<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>
ログイン後にコピー

推奨読書

  • [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/ja/thread.start.php)

以上がPHP で非同期 cURL リクエストを実装するにはどうすればよいですか?の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。

ソース:php.cn
このウェブサイトの声明
この記事の内容はネチズンが自主的に寄稿したものであり、著作権は原著者に帰属します。このサイトは、それに相当する法的責任を負いません。盗作または侵害の疑いのあるコンテンツを見つけた場合は、admin@php.cn までご連絡ください。
著者別の最新記事
人気のチュートリアル
詳細>
最新のダウンロード
詳細>
ウェブエフェクト
公式サイト
サイト素材
フロントエンドテンプレート