PHP での非同期 GET リクエスト
PHP で非同期 GET リクエストを作成すると、メインスレッドをブロックすることなく、外部スクリプトとの効率的な通信が可能になります。
使用中file_get_contents()
出力が不要な GET リクエストの場合、file_get_contents() を使用できます。
$output = file_get_contents('http://www.example.com/');
fsockopen() を使用した非同期リクエスト
リクエストを待たずに非同期リクエストを行うには応答を返すには、fsockopen():
function make_async_get($url) { $parts = parse_url($url); $fp = fsockopen($parts['host'], isset($parts['port']) ? $parts['port'] : 80, $errno, $errstr, 30); $out = "GET ".$parts['path']." HTTP/1.1\r\n"; $out.= "Host: ".$parts['host']."\r\n"; $out.= "Connection: Close\r\n\r\n"; fwrite($fp, $out); fclose($fp); } make_async_get('http://www.externalsite.com/script1.php?variable=45');
この例では、ソケットが開かれ、GET リクエストが送信され、応答を読み取らずにソケットがすぐに閉じられます。
注: GET リクエストの出力が必要な場合は、参照されたソリューションに示されているように、curl_post_async() の使用を検討してください。
以上がPHP で非同期 GET リクエストを行うにはどうすればよいですか?の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。