ホームページ バックエンド開発 PHPチュートリアル PHP 非同期呼び出しの実装方法_PHP チュートリアル

PHP 非同期呼び出しの実装方法_PHP チュートリアル

Jul 13, 2016 pm 05:49 PM
http php プロトコル そして 成し遂げる 非同期 方法 サーバ ブラウザ プログラム 移行 行為 接続する コミュニケーション のために

ブラウザとサーバー間の通信にはコネクションレス型のHTTPプロトコルしか存在せず、コネクションレス型プログラムの特徴は、クライアントがサーバーにリクエストを行い、サーバーはリクエストに応じて対応するプログラムを出力するという点にあります。持続的な接続。

クライアントの対応するサーバーが 1 秒または 1 分間実行するため、ブラウザは常に待機状態になります。プログラムの実行が遅い場合、ユーザーはブラウザを閉じるのに耐えられない可能性があります。 。

場合によっては、プログラムの実行結果を気にする必要がなく、時間を無駄にして辛抱強く待つ必要はありません。その場合は、プログラムを待たずにバックグラウンドで静かに実行する方法を見つける必要があります。

たとえば、推奨メールを 1,000 人のユーザーに送信するシナリオがあります。ユーザーはメール アカウントを入力またはインポートし、送信のためにサーバーに送信します。

{
sendmail(....);//メールを送信 } ?> このコードはユーザー エクスペリエンスが非常に悪く、実際には使用できません。まず、大量の電子メールを送信するとサーバーの時間が足りなくなり、ユーザーは待ち時間が長くなり、そのコードに対する信頼を失います。システム製品。ただし、ユーザーは、電子メールを正常に送信する前に 1,000 件の電子メールがすべて送信されるまで待つ必要はありません。バックグラウンドに送信した後、ユーザーに送信が成功するよう直接プロンプトを表示し、バックグラウンド プログラムに電子メールを 1 つずつサイレントに送信させることができます。 。

現時点では、コードを実行するために「非同期実行」テクノロジーが必要です。非同期実行の特徴は、ユーザーがコードの実行結果を待つ必要がないことです。

1. アプリケーションの単一タスクへの依存を取り除く

2. プログラム実行効率の向上

3. プログラムの拡張性の向上

4. 特定のシナリオにおけるユーザーエクスペリエンスの向上

5. PHP はマルチスレッドをサポートしていないため、非同期呼び出しを使用して複数の HTTP をリクエストすると、プログラムの並列実行の効果が得られます。ただし、リクエストされる HTTP リクエストが多すぎると、システムのオーバーヘッドが大幅に増加することに注意してください。

PHP での非同期実行の一般的な方法:

1. クライアント ページは AJAX テクノロジーを使用してサーバーをリクエストします

1. 最も簡単な方法は、クライアントに返される HTML コードに AJAX 呼び出しを埋め込むか、実行される時間のかかるスクリプトを指す src を含む img タグを埋め込むことです。

この方法は最も簡単で最速です。サーバーは呼び出しを行う必要はありません。

ただし、一般に、Ajax は onLoad の後にトリガーされる必要があるという欠点があります。つまり、ユーザーがページをクリックして閉じた場合、バックグラウンド スクリプトはトリガーされません。
imgタグを使用した場合、このメソッドは厳密な意味での非同期実行とは言えません。ユーザーのブラウザは、php スクリプトの実行が完了するまで長時間待機します。つまり、ユーザーのブラウザのステータス バーには、常にロード中であることが表示されます。
もちろん、スクリプトタグなど、同様の原理を持つ他のメソッドを使用することもできます。

2.popen()関数

リソース Popen (文字列コマンド、文字列モード);

// 指定されたコマンドの実行をフォークすることによって生成されたプロセスへのパイプを開きます。指定されたコマンドを生成したコマンドの実行によって生成されたプロセスへのパイプを開きます。


したがって、それを呼び出すことができますが、その出力は無視できます。

?

pclose(popen( "/home/xinchen/backend.php &" , 'r' ));

この方法は、最初の方法の欠点を回避し、高速です。ただし、問題は、このメソッドは HTTP プロトコルを通じて別の Web サービスをリクエストできず、ローカル スクリプト ファイルしか実行できないことです。また、一方向にのみ開くことができ、呼び出されたスクリプトに多数のパラメータを渡すことはできません。

そして、アクセス数が多ければ、大量のプロセスが生成されます。外部リソースを使用する場合は、競合について自分で考慮する必要があります。

3.CURL拡張子

CURL は、POST/GET などの HTTP リクエストをシミュレートし、データを取得して抽出し、「標準出力」(stdout) に表示できる強力な HTTP コマンド ライン ツールです

$ch =curl_init();

$curl_opt = array(CURLOPT_URL, 'http://www.example.com/backend.php',

CURLOPT_RETURNTRANSFER、1、
CURLOPT_TIMEOUT, 1,);

curl_setopt_array($ch, $curl_opt);

curl_exec($ch);

curl_close($ch);
CURL を使用するには、CUROPT_TIMEOUT を 1 に設定する必要があります (最小値は 1 です)。つまり、クライアントは少なくとも 1 秒待つ必要があります。

4.fskoopen()関数

fsockopen は、ソケットプログラミングをサポートする非常に強力な関数です。fsockopen を使用して、メール送信などのソケットプログラムを実装できます。fcockopen を使用するには、ヘッダー部分を自分で手動で結合する必要があります

公式ドキュメント: http://cn.php.net/fsockopen/

?
$fp = fsockopen ( "www.2cto.com" , 80, $errno , $errstr , 30);
if (! $fp ) {
echo "$errstr ($errno)
n" ;
} その他 {
$out = "GET /backend.php / HTTP/1.1rn" ;
$out .= "ホスト: www.2cto.comrn" ;
$out .= "接続: 閉じるrnrn" ;

fwrite( $fp , $out );
/*実行結果を無視します
一方 (!feof($fp)) {
エコー fgets($fp, 128);
}*/
fclose( $fp );
}


qeenoo

より抜粋

www.bkjia.com本当http://www.bkjia.com/PHPjc/478345.html技術記事ブラウザとサーバー間の通信にはコネクションレス型のHTTPプロトコルしかありません。コネクションレス型プログラムの特徴は、クライアントがサーバーにリクエストを行い、サーバーはリクエストに応じて対応する処理を出力することです...
このウェブサイトの声明
この記事の内容はネチズンが自主的に寄稿したものであり、著作権は原著者に帰属します。このサイトは、それに相当する法的責任を負いません。盗作または侵害の疑いのあるコンテンツを見つけた場合は、admin@php.cn までご連絡ください。

ホットAIツール

Undresser.AI Undress

Undresser.AI Undress

リアルなヌード写真を作成する AI 搭載アプリ

AI Clothes Remover

AI Clothes Remover

写真から衣服を削除するオンライン AI ツール。

Undress AI Tool

Undress AI Tool

脱衣画像を無料で

Clothoff.io

Clothoff.io

AI衣類リムーバー

AI Hentai Generator

AI Hentai Generator

AIヘンタイを無料で生成します。

ホットツール

メモ帳++7.3.1

メモ帳++7.3.1

使いやすく無料のコードエディター

SublimeText3 中国語版

SublimeText3 中国語版

中国語版、とても使いやすい

ゼンドスタジオ 13.0.1

ゼンドスタジオ 13.0.1

強力な PHP 統合開発環境

ドリームウィーバー CS6

ドリームウィーバー CS6

ビジュアル Web 開発ツール

SublimeText3 Mac版

SublimeText3 Mac版

神レベルのコード編集ソフト(SublimeText3)

コインベース交換ログインポート2025 コインベース交換ログインポート2025 Mar 21, 2025 pm 05:51 PM

Coinbase Security Login Guide:フィッシングサイトや詐欺を避ける方法は? フィッシングと詐欺はますますramp延しており、Coinbaseの公式ログインポータルに安全にアクセスすることが重要です。この記事では、ユーザーがコインベースの最新の公式ログインポータルを安全に見つけて使用して、デジタル資産のセキュリティを保護するための実用的なガイドを提供します。フィッシングサイトを特定する方法と、公式Webサイト、モバイルアプリ、または信頼できるサードパーティプラットフォームを介して安全にログインする方法を取り上げ、強力なパスワードの使用や2要素の検証を可能にするなど、アカウントセキュリティを強化するための提案を提供します。 誤ったログインによる資産の損失を避けるために、この記事を注意深くお読みください!

OUYI公式ウェブサイトの最新の登録ポータル OUYI公式ウェブサイトの最新の登録ポータル Mar 21, 2025 pm 05:54 PM

世界をリードするデジタル資産取引プラットフォームとして、OUYI OKXは、豊富な取引製品、強力なセキュリティ保証、便利なユーザーエクスペリエンスで多くの投資家を引き付けます。ただし、ネットワークセキュリティのリスクはますます深刻になっており、公式のOUYI OKXアカウントを安全に登録する方法が重要です。この記事では、OUYI OKX公式ウェブサイトの最新の登録ポータルを提供し、公式ウェブサイトの識別、強力なパスワードの設定、2因子検証など、デジタル資産投資の旅を安全かつ便利に開始する方法など、安全な登録の手順と注意事項を詳細に説明します。デジタル資産投資にはリスクがあることに注意してください。慎重な決定を下してください。

OUYI Exchange App国内ダウンロードチュートリアル OUYI Exchange App国内ダウンロードチュートリアル Mar 21, 2025 pm 05:42 PM

この記事では、中国のOUYI OKXアプリの安全なダウンロードに関する詳細なガイドを提供します。国内のアプリストアの制限により、ユーザーはOUYI OKXの公式Webサイトからアプリをダウンロードするか、公式Webサイトが提供するQRコードを使用してスキャンおよびダウンロードすることをお勧めします。ダウンロードプロセス中に、公式Webサイトのアドレスを確認し、アプリケーションの許可を確認し、インストール後にセキュリティスキャンを実行し、2要素の検証を有効にしてください。 使用中は、地方の法律や規制を遵守し、安全なネットワーク環境を使用し、アカウントのセキュリティを保護し、詐欺に対して警戒し、合理的に投資してください。 この記事は参照のみであり、投資のアドバイスを構成していません。

OUYI Exchange Webバージョン登録ポータルOUYI登録ポータル OUYI Exchange Webバージョン登録ポータルOUYI登録ポータル Mar 20, 2025 pm 05:48 PM

この記事では、OUYI OKX Exchangeの公式Webサイトにアカウントを登録し、暗号通貨取引を開始する方法について詳しく説明しています。世界をリードする暗号通貨交換として、OUYIは幅広い取引品種、複数の取引方法、強力なセキュリティ保証を提供し、さまざまなフィアットおよび暗号通貨の便利な撤回をサポートします。この記事では、OUYIの公式ウェブサイト登録の入り口の検索方法、詳細な登録手順(電子メール/モバイル登録、情報の充填、検証コード検証などを含む)、および登録後の予防措置(KYC認定、セキュリティ設定など)をカバーし、初心者ユーザーが迅速かつ安全にOUYIアカウント登録を完了し、登録投資の旅を開始するための一般的な質問に答えます。

Binance Exchange App国内ダウンロードチュートリアル Binance Exchange App国内ダウンロードチュートリアル Mar 21, 2025 pm 05:45 PM

この記事では、安全で信頼性の高いBinance Exchange Appダウンロードガイドを提供して、ユーザーが国内のBinanceアプリをダウンロードする問題を解決できるようにします。国内のアプリケーションストアの制限により、この記事では、Binanceの公式WebサイトからAPKインストールパッケージをダウンロードすることを優先し、3つの方法を紹介します。さらに、この記事は、ユーザーに、地域の法律や規制を理解し、ネットワークセキュリティに注意を払い、個人情報を保護し、詐欺、合理的な投資、安全な取引に注意してください。 記事の最後に、記事は再び、Binanceアプリのダウンロードと使用を使用して、地元の法律や規制を遵守しなければならず、お客様の責任で、投資アドバイスを構成しないことを強調しました。

Bitmex Exchangeの最新の公式Webサイトにログイン Bitmex Exchangeの最新の公式Webサイトにログイン Mar 21, 2025 pm 06:06 PM

この記事では、ユーザーがBitMex Exchangeの最新の公式Webサイトにアクセスし、トランザクションセキュリティを改善できるように、安全で信頼できるガイドを提供します。規制およびサイバーセキュリティの脅威により、公式のBitmexのWebサイトを特定し、アカウント情報と資金を盗むフィッシングWebサイトを避けることが重要です。この記事では、信頼できる暗号通貨プラットフォーム、公式のソーシャルメディア、ニュースメディア、および公式の電子メールの重要性を強調し、HTTPS接続を使用し、セキュリティ証明書をチェックし、2因子の検証とパスワードを定期的に変更することを強調しています。 暗号通貨取引はリスクが高いことを忘れないでください。慎重に投資してください。

織機コインの発行価格と発行時間の詳細な説明 織機コインの発行価格と発行時間の詳細な説明 Mar 20, 2025 pm 06:21 PM

かつて知られているブロックチェーンゲームとソーシャルアプリケーション開発プラットフォームトークンであるLoom Coinは、2018年4月25日にコインあたり約0.076米ドルの発行価格で開催されました。この記事では、市場のボラティリティリスクやプロジェクト開発の見通しなど、発行時間、価格、織機コインの重要な予防措置に関する詳細な議論を行います。 投資家は慎重であり、盲目的にトレンドに従うべきではありません。 織機コインについて学び、ここから始めましょう!

Coinbase Exchange Webバージョンログインポータル Coinbase Exchange Webバージョンログインポータル Mar 21, 2025 pm 05:48 PM

Coinbase Exchange Webバージョンは利便性に人気がありますが、安全なアクセスが重要です。この記事の目的は、ユーザーに公式のCoinbase Webバージョンに安全にログインし、フィッシングWebサイトやハッカーを避けることを目的としています。 検索エンジン、信頼できるサードパーティプラットフォーム、公式ソーシャルメディアを介して公式ポータルを検証する方法を詳細に説明し、アドレスバーセキュリティロックのチェック、2因子検証の可能性、パスパスの回避、定期的にパスワードの変更、デジタル資産のセキュリティを確保するための電子メールのフィッシングに警告するなどのセキュリティ対策を強調します。 公式のCoinbase Webサイトへの正しいアクセスは、デジタル通貨を保護するための最初のステップです。

See all articles