亚洲激情专区-91九色丨porny丨老师-久久久久久久女国产乱让韩-国产精品午夜小视频观看

溫馨提示×

溫馨提示×

您好,登錄后才能下訂單哦!

密碼登錄×
登錄注冊×
其他方式登錄
點擊 登錄注冊 即表示同意《億速云用戶服務條款》

PHP中實現多線程異步請求的方法有哪些

發布時間:2021-01-16 11:23:41 來源:億速云 閱讀:247 作者:Leah 欄目:開發技術

這篇文章將為大家詳細講解有關PHP中實現多線程異步請求的方法有哪些,文章內容質量較高,因此小編分享給大家做個參考,希望大家閱讀完這篇文章后對相關知識有一定的了解。

1、用CURL實現一步請求

CURL擴展是我們在開發過程中最常用的一種方法,他是一個強大的HTTP命令行工具,可以模擬POST/GET等HTTP請求,然后得到和提取數據,顯示在"標準輸出"(stdout)上面。

示例:

復制代碼 代碼如下:


<?php
$cl = curl_init();
$curl_opt = array(CURLOPT_URL, 'http://www.uncletoo.com/demo.php',
CURLOPT_RETURNTRANSFER, 1,
CURLOPT_TIMEOUT, 1,);
curl_setopt_array($cl, $curl_opt);
curl_exec($ch);
curl_close($ch);
?>


由于CUROPT_TIMEOUT屬性最小值為1,這就意味著在客戶端必須等待1秒,這也是使用CURL方法的缺點

2、用popen()函數實現異步請求

語法格式:popen(command,mode)

示例:

復制代碼 代碼如下:


<?php
$file = popen("/bin/ls","r");
//這里是要執行的代碼
//...
pclose($file);
?>


popen()函數直接打開一個指向進程的管道,速度快,即時相應。但是這個函數是單項的,要么讀要么寫,而且如果并發數較大,則會產生大量進程,給服務器造成負擔。

另外,如同示例中一樣,程序結束后一定要用pclose()來關閉。

3、用fscokopen()函數實現異步請求

我們在平時開發郵件發送功能等socket編程時,都會用到這個函數,在使用這個函數之前,我們要在PHP.ini 中開啟 allow_url_fopen 選項,另外在變成時,我們還要自己手動拼接出header部分。

示例:

復制代碼 代碼如下:


$fp = fsockopen("www.uncletoo.com/demo.php", 80, $errno, $errstr, 30);
if (!$fp) {
echo "$errstr ($errno)<br />\n";
} else {
$out = "GET /index.php / HTTP/1.1\r\n";
$out .= "Host: www.uncletoo.com\r\n";
$out .= "Connection: Close\r\n\r\n";

fwrite($fp, $out);
/*這里忽略執行結果
*測試時可以打開
while (!feof($fp)) {
echo fgets($fp, 128);
}*/
fclose($fp);
}

關于PHP中實現多線程異步請求的方法有哪些就分享到這里了,希望以上內容可以對大家有一定的幫助,可以學到更多知識。如果覺得文章不錯,可以把它分享出去讓更多的人看到。

向AI問一下細節

免責聲明:本站發布的內容(圖片、視頻和文字)以原創、轉載和分享為主,文章觀點不代表本網站立場,如果涉及侵權請聯系站長郵箱:is@yisu.com進行舉報,并提供相關證據,一經查實,將立刻刪除涉嫌侵權內容。

AI

桃园市| 巴彦县| 外汇| 农安县| 巴彦淖尔市| 石家庄市| 阿坝县| 临海市| 陇南市| 郎溪县| 成都市| 原平市| 苍南县| 临颍县| 蓬安县| 阿图什市| 邢台县| 沂南县| 黔江区| 揭阳市| 黄梅县| 宁夏| 九江市| 荥阳市| 辉南县| 肃宁县| 昭平县| 广丰县| 丰镇市| 南江县| 颍上县| 阿勒泰市| 丰都县| 苏尼特右旗| 二连浩特市| 越西县| 新沂市| 平果县| 油尖旺区| 儋州市| 宜君县|