中文字幕av专区_日韩电影在线播放_精品国产精品久久一区免费式_av在线免费观看网站

溫馨提示×

溫馨提示×

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

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

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

怀来县| 拉孜县| 含山县| 连南| 白朗县| 利津县| 溧水县| 富宁县| 蚌埠市| 新津县| 东港市| 桑植县| 科技| 成安县| 伊川县| 沿河| 武乡县| 庆安县| 广饶县| 南丰县| 全椒县| 太仓市| 岢岚县| 蓬莱市| 东乡县| 吴桥县| 吉木乃县| 新竹县| 石渠县| 北海市| 宁国市| 德惠市| 青神县| 定远县| 双柏县| 乐陵市| 斗六市| 怀宁县| 神木县| 托克托县| 遂宁市|