亚洲av无码乱码国产一区二区,午夜理论片yy44880影院,午夜久久久久久禁播电影,熟睡人妻被讨厌的公侵犯

15
2025/03

PHP如何不使用插件,原生實現(xiàn)異步執(zhí)行

發(fā)布時間:2025-03-15 13:53:56
發(fā)布者:已經寫了
瀏覽量:
0

PHP是一個同步執(zhí)行的語言,簡單來說就是代碼是一行一行往下執(zhí)行的,每個請求也都是一個一個的按照順序去執(zhí)行,不像ajax那樣可以異步執(zhí)行的機制。所以再遇到了一些需要長時間執(zhí)行的程序的時候,就會造成一個結果,用戶長時間的等待,沒有結果返回,導致用戶體驗下降。類似的長時間執(zhí)行的程序例如:生成大量的PDF文件,發(fā)送大量的通知操作,處理圖片,訪問外部API等。為了不影響主程序的進行,切提高用戶體驗,減少等待時間,用異步來實現(xiàn)這些功能,絕對是一個最好的選擇,主程序繼續(xù)執(zhí)行,讓用戶完成操作,系統(tǒng)繼續(xù)執(zhí)行剩余的任務處理,例如發(fā)送通知,生成文檔。

當然,PHP有一些可以實現(xiàn)異步的插件和框架,例如Swoole、ReactPHP等,但是今天我的項目是一個,運行了很多年的系統(tǒng),且這個系統(tǒng)沒有外部網(wǎng)絡,無法聯(lián)網(wǎng)安裝插件,簡而言之就是沒法升級。

這里我想到的方法是,使用Curl來模擬異步執(zhí)行,原理就是直接用Curl請求另外一個接口去執(zhí)行想要執(zhí)行的代碼,但是我不獲取它的結果,它只需要系統(tǒng)自動執(zhí)行一邊就可以了,意思就是請求完后,直接結束請求不獲取返回結果,這樣就可以繼續(xù)執(zhí)行后面的代碼來實現(xiàn)異步。

CURLOPT_TIMEOUT 設置cURL允許執(zhí)行的最長秒數(shù)

CURLOPT_TIMEOUT_MS 設置cURL允許執(zhí)行的最長毫秒數(shù)

PHP如何不使用插件,原生實現(xiàn)異步執(zhí)行


返回列表