Rumah >pembangunan bahagian belakang >tutorial php >Bagaimanakah Saya Boleh Membuat Permintaan HTTP Asynchronous dalam PHP Tanpa Menyekat Pelaksanaan?
Permintaan HTTP Tak Segerak dalam PHP
Dalam situasi tertentu, mungkin perlu untuk memulakan permintaan HTTP tanpa menunggu respons pelayan. Pendekatan ini amat berguna untuk mencetuskan peristiwa atau proses tak segerak dalam aplikasi.
Teknik berikut membolehkan anda membuat permintaan HTTP dalam PHP tanpa menyekat pelaksanaan kod anda:
Menggunakan fsockopen
Fungsi fsockopen PHP boleh digunakan untuk mewujudkan sambungan soket dengan alat kawalan jauh pelayan. Setelah disambungkan, data boleh dihantar ke pelayan menggunakan fwrite. Walau bagaimanapun, daripada menunggu jawapan, sambungan boleh ditutup serta-merta, meninggalkan permintaan untuk diselesaikan secara tak segerak.
Berikut ialah contoh fungsi yang melaksanakan permintaan HTTP POST tak segerak:
function post_without_wait($url, $params) { // Convert parameters to a string $post_string = http_build_query($params); // Parse the URL $parts = parse_url($url); // Open a socket connection $fp = fsockopen($parts['host'], isset($parts['port']) ? $parts['port'] : 80, $errno, $errstr, 30); // Construct and send the HTTP request $request = "POST " . $parts['path'] . " HTTP/1.1\r\n"; $request .= "Host: " . $parts['host'] . "\r\n"; $request .= "Content-Type: application/x-www-form-urlencoded\r\n"; $request .= "Content-Length: " . strlen($post_string) . "\r\n"; $request .= "Connection: Close\r\n\r\n"; if (isset($post_string)) { $request .= $post_string; } fwrite($fp, $request); // Close the socket connection fclose($fp); }
Fungsi ini boleh digunakan untuk mencetuskan permintaan HTTP tanpa menunggu respons pelayan. Perlu diingat bahawa respons pelayan tidak akan tersedia dalam aplikasi anda, jadi adalah penting untuk tidak bergantung padanya untuk sebarang pemprosesan selanjutnya.
Atas ialah kandungan terperinci Bagaimanakah Saya Boleh Membuat Permintaan HTTP Asynchronous dalam PHP Tanpa Menyekat Pelaksanaan?. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!