亚洲香蕉成人av网站在线观看_欧美精品成人91久久久久久久_久久久久久久久久久亚洲_热久久视久久精品18亚洲精品_国产精自产拍久久久久久_亚洲色图国产精品_91精品国产网站_中文字幕欧美日韩精品_国产精品久久久久久亚洲调教_国产精品久久一区_性夜试看影院91社区_97在线观看视频国产_68精品久久久久久欧美_欧美精品在线观看_国产精品一区二区久久精品_欧美老女人bb

首頁 > 開發 > PHP > 正文

php實現異步數據調用的方法

2024-05-04 23:41:23
字體:
來源:轉載
供稿:網友
這篇文章主要介紹了php實現異步數據調用的方法,分享了4種PHP異步執行的常用方式,感興趣的小伙伴們可以參考一下
 

瀏覽器和服務器之間只有一種面向無連接的HTTP協議進行通訊的,面向無連接的程序的特點是客戶端請求服務端,服務端根據請求返回相應的程序,不能保持持久連接。這樣就出現了一個問題,一個客戶端的相應服務端可能執行1秒也有可能執行1分鐘,這樣瀏覽器就會一直處于等待狀態,如果程序執行緩慢,用戶可能就沒耐心關掉了瀏覽器。
而有的時候我們不需要關心程序執行的結果,沒有必要這樣浪費時間和耐心等待,那我們就要想出辦法讓程序不收等待在后臺靜默執行。比如現在有一個場景,給1000個用戶發送一封推薦郵件,用戶輸入或者導入郵件賬號了提交服務器執行發送。

<?php $count = count($emailarr);for($i =0; $i < $count; $i++) {   sendmail();//發送郵件 } ?> 

這段代碼用戶體驗極差,也無法實際運用,首先發送這么多郵件會產生服務器運行超時,其實漫長的用戶等待時間會讓用戶對系統產品懷疑和失去信心。但是用戶不需要等待到1000封郵件都發送完畢了才提交發送成功,我們完全可以提交后臺后直接給用戶提示發送成功,然后讓后臺程序靜默依次發送。
這個時候我們就需要“異步執行”技術來執行代碼,異步執行的特點是后臺靜默執行,用戶無需等待代碼的執行結果,使用異步執行的好處:

  • 擺脫了應用程序對單個任務的依賴性
  • 提高了程序的執行效率
  • 提高了程序的擴展性
  • 在一定場景提高了用戶體驗
  • 因為PHP不支持多線程,使用異步調用的請求多個HTTP的方式達到了程序并行執行效果,但是注意的是請求的HTTP過多的話,會大大加大了系統的開銷

PHP異步執行的常用方式
1. 客戶端頁面采用AJAX技術請求服務器
最簡單的辦法就是在返回給客戶端的HTML代碼中,嵌入AJAX調用,或者,嵌入一個img標簽,src指向要執行的耗時腳本。這種方法最簡單,也最快。服務器端不用做任何的調用。
但是缺點是,一般來說Ajax都應該在onLoad以后觸發,也就是說,用戶點開頁面后,就關閉,那就不會觸發我們的后臺腳本了。
而使用img標簽的話,這種方式不能稱為嚴格意義上的異步執行。用戶瀏覽器會長時間等待php腳本的執行完成,也就是用戶瀏覽器的狀態欄一直顯示還在load。當然,還可以使用其他的類似原理的方法,比如script標簽等等。
2. popen()函數
resource popen ( string command, string mode );
打開一個指向進程的管道,該進程由派生給定的 command 命令執行而產生。打開一個指向進程的管道,該進程由派生給定的 command 命令執行而產生。 所以可以通過調用它,但忽略它的輸出。
pclose(popen("/home/xinchen/backend.php &", 'r'));
這個方法避免了第一個方法的缺點,并且也很快。但是問題是,這種方法不能通過HTTP協議請求另外的一個WebService,只能執行本地的腳本文件。并且只能單向打開,無法穿大量參數給被調用腳本。并且如果,訪問量很高的時候,會產生大量的進程。如果使用到了外部資源,還要自己考慮競爭。
3. CURL擴展
CURL是一個強大的HTTP命令行工具,可以模擬POST/GET等HTTP請求,然后得到和提取數據,顯示在"標準輸出"(stdout)上面。

$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. fscokopen()函數
fsockopen是一個非常強大的函數,支持socket編程,可以使用fsockopen實現郵件發送等socket程序等等,使用fcockopen需要自己手動拼接出header部分。

$fp = fsockopen(www.49028c.com, 80, $errno, $errstr, 30);if (!$fp) { echo "$errstr ($errno)<br />/n";} else { $out = "GET /backend.php / HTTP/1.1/r/n"; $out .= "Host: www.49028c.com/r/n"; $out .= "Connection: Close/r/n/r/n";  fwrite($fp, $out); /*忽略執行結果 while (!feof($fp)) {  echo fgets($fp, 128); }*/ fclose($fp);}

以上就是為大家分享的4種PHP異步執行的常用方式,希望對大家的學習有所幫助。



注:相關教程知識閱讀請移步到PHP教程頻道。
發表評論 共有條評論
用戶名: 密碼:
驗證碼: 匿名發表
亚洲香蕉成人av网站在线观看_欧美精品成人91久久久久久久_久久久久久久久久久亚洲_热久久视久久精品18亚洲精品_国产精自产拍久久久久久_亚洲色图国产精品_91精品国产网站_中文字幕欧美日韩精品_国产精品久久久久久亚洲调教_国产精品久久一区_性夜试看影院91社区_97在线观看视频国产_68精品久久久久久欧美_欧美精品在线观看_国产精品一区二区久久精品_欧美老女人bb
一区二区三区美女xx视频| 欧美精品在线第一页| 在线国产精品视频| 日韩成人在线电影网| 久久久精品免费视频| 日韩成人av网| 精品视频在线播放免| 亚洲丁香久久久| 亚洲图片欧美日产| 成人妇女免费播放久久久| 成人国产精品日本在线| 欧美日本精品在线| 97在线视频国产| 亚洲精品视频网上网址在线观看| 91精品国产乱码久久久久久蜜臀| 国产精品美女久久| 超碰精品一区二区三区乱码| 国产精品日韩在线播放| 91九色精品视频| 91高清视频免费观看| 国内外成人免费激情在线视频网站| 91免费看片在线| 国产免费一区二区三区在线能观看| 97在线视频一区| 91精品国产高清久久久久久| 91精品国产99久久久久久| 欧美高清无遮挡| 久久全国免费视频| 国产丝袜一区二区| 亚洲国产黄色片| 日韩色av导航| 精品国产拍在线观看| 成人a级免费视频| 亚洲网站在线看| 国产欧美久久久久久| 国产精品日日摸夜夜添夜夜av| 欧美亚洲成人网| 日韩在线欧美在线| 亚洲福利在线播放| 免费不卡在线观看av| 日韩免费观看av| 国产精品久久久久久久7电影| 成人一区二区电影| 成人网欧美在线视频| 美女视频久久黄| 色综合天天狠天天透天天伊人| 91在线观看免费网站| 欧美极度另类性三渗透| 青草热久免费精品视频| 曰本色欧美视频在线| 亚洲黄色www网站| 亚洲成人精品久久久| 亚洲一区av在线播放| 欧美日韩高清区| 欧美有码在线视频| 日日狠狠久久偷偷四色综合免费| 欧美日韩国产中文精品字幕自在自线| 欧美理论电影网| 国产97人人超碰caoprom| 韩国19禁主播vip福利视频| 欧美午夜片欧美片在线观看| 久久精视频免费在线久久完整在线看| 欧美性精品220| 国产脚交av在线一区二区| 国产精品免费一区| 国产日韩在线亚洲字幕中文| 亚洲欧美日韩中文视频| 欧美在线一区二区视频| 欧美一级免费视频| 亚州精品天堂中文字幕| 中文字幕欧美视频在线| 2021国产精品视频| 成人淫片在线看| 欧美黑人又粗大| 91人人爽人人爽人人精88v| 亚洲精品国产综合久久| 欧美老女人bb| 国产精品av在线| 日韩电影视频免费| 中文字幕免费国产精品| 国产精品精品视频| 亚洲欧美日韩一区二区在线| 国产成人黄色av| 亚洲大胆人体视频| 国产精品国产自产拍高清av水多| 日韩中文字幕网| 欧美怡红院视频一区二区三区| 亚洲激情成人网| 97精品国产97久久久久久春色| 91午夜理伦私人影院| 亚洲欧洲午夜一线一品| 久久91精品国产91久久跳| 岛国av一区二区三区| 亚洲欧美中文字幕在线一区| 国产精品午夜国产小视频| 欧美午夜美女看片| 91精品国产91久久久久久最新| 国产欧美精品一区二区| 丁香五六月婷婷久久激情| 黄色一区二区三区| 久久久在线视频| 亚洲欧美一区二区激情| 午夜免费久久久久| 精品国产老师黑色丝袜高跟鞋| 欧美精品videos| 97国产精品人人爽人人做| 亚洲精品中文字幕有码专区| 成人精品一区二区三区| 久久综合久久88| 亚洲国产精品久久精品怡红院| 久久夜色精品亚洲噜噜国产mv| 亚洲国产97在线精品一区| 久久视频国产精品免费视频在线| 国产91精品久久久久| 色先锋久久影院av| 久久久久久久色| 国产欧美日韩综合精品| 在线亚洲午夜片av大片| 国产在线视频2019最新视频| 欧美精品日韩三级| 亚洲成人在线视频播放| 亚洲三级av在线| 红桃视频成人在线观看| 久久久久久高潮国产精品视| 色先锋资源久久综合5566| 91wwwcom在线观看| 国产精品∨欧美精品v日韩精品| 97视频免费在线看| 精品国产欧美一区二区五十路| 最近2019年中文视频免费在线观看| 久久91精品国产91久久跳| 亚洲天堂色网站| 另类少妇人与禽zozz0性伦| 久久艳片www.17c.com| 国产精品激情自拍| 成人免费午夜电影| 色妞久久福利网| 91av福利视频| 亚洲综合在线播放| 亚洲欧美日韩网| 国产精品吊钟奶在线| 久久精品国产一区二区三区| 国产精品青草久久久久福利99| 亚洲国产精品资源| 欧美怡春院一区二区三区| 成人免费视频在线观看超级碰| 日韩精品福利网站| 精品中文视频在线| 久久国产精品网站| 久久91精品国产| 亚洲二区在线播放视频| 亚洲成人激情在线| 久久久精品999| 91精品国产综合久久香蕉922| 国模精品系列视频| 国产精品久久久久不卡| 欧美限制级电影在线观看| 色青青草原桃花久久综合| 亚洲精品有码在线| 国产视频精品久久久| 伊人久久大香线蕉av一区二区| 国产丝袜一区二区| 精品夜色国产国偷在线| 久久人体大胆视频|