欧美成人片一区二区三区,久久碰人妻一区二区三区,久久婷婷激情综合色综合俺也去,狂野欧美性猛交免费视频,久久夜色精品国产亚洲

15
2025/03

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

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

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

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

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

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

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

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


關(guān)鍵詞:
返回列表