亚洲在线久爱草,狠狠天天香蕉网,天天搞日日干久草,伊人亚洲日本欧美

為了賬號安全,請及時綁定郵箱和手機立即綁定
已解決430363個問題,去搜搜看,總會有你想問的

PHP 怎樣異步處理

PHP 怎樣異步處理

PHP
慕的地8271018 2019-03-10 08:36:11
我寫了個sleep10秒 但是一觸發其他腳步地方都跟著延遲 請問怎么樣不堵塞的情況下正常執行?
查看完整描述

8 回答

?
BIG陽

TA貢獻1859條經驗 獲得超6個贊

如果你用nginx,可以利用fastcgi處理

主要用兩個方法:

//這里寫同步代碼

fastcgi_finish_request();
set_time_limit(0);

//這里寫異步代碼
查看完整回答
反對 回復 2019-03-18
?
浮云間

TA貢獻1829條經驗 獲得超4個贊

PHP本身是不支持異步,但你可以用協程去實現!

查看完整回答
反對 回復 2019-03-18
?
蝴蝶不菲

TA貢獻1810條經驗 獲得超4個贊

如果你這個異步處理不是立馬要處理結果,你可以把要異步處理或者比較耗時的處理抽出來,單獨放在一個action里。再在代碼里面curl里面請求這個鏈接,超時時間設為1s(php curl最短只能設置為1s),設置不獲取結果。。。

查看完整回答
反對 回復 2019-03-18
?
SMILET

TA貢獻1796條經驗 獲得超4個贊

PHP本身不支持異步,可以借助 Redis 隊列或專業的隊列服務,把耗時的操作放入隊列中異步執行。

查看完整回答
反對 回復 2019-03-18
?
猛跑小豬

TA貢獻1858條經驗 獲得超8個贊

建議使用隊列實現,主流的PHP框架(thinkphp,laravel等)基本都集成了隊列功能或擁有成熟的隊列插件,穩定且易于使用。不用自己去從0開發。

查看完整回答
反對 回復 2019-03-18
?
牛魔王的故事

TA貢獻1830條經驗 獲得超3個贊

可以采用pthread擴展

查看完整回答
反對 回復 2019-03-18
?
慕姐4208626

TA貢獻1852條經驗 獲得超7個贊

可以采用swoole一些擴展來實現

查看完整回答
反對 回復 2019-03-18
?
森欄

TA貢獻1810條經驗 獲得超5個贊

隊列或PHP擴展 thread 類來實現

查看完整回答
反對 回復 2019-03-18
  • 8 回答
  • 0 關注
  • 504 瀏覽

添加回答

舉報

0/150
提交
取消
微信客服

購課補貼
聯系客服咨詢優惠詳情

幫助反饋 APP下載

慕課網APP
您的移動學習伙伴

公眾號

掃描二維碼
關注慕課網微信公眾號