php中非同步執行的四種方式

2020-07-16 10:06:07

一、使用Ajax 與 img 標記

原理:伺服器返回的html中插入Ajax 程式碼或 img 標記,img的src為需要執行的程式。

優點:實現簡單,伺服器端無需執行任何呼叫。

缺點:在執行期間,瀏覽器會一直處於loading狀態,因此這種方法並不算真正的非同步呼叫。

2738cde2a6f53d1bcb20823796be862.png

(免費視訊教學推薦:php視訊教學

二、使用popen

使用popen執行命令,語法:

1cdb3f37770b49a56ac49016396e83d.png

優點:執行速度快

缺點:

1、只能在本機執行

2、不能傳遞大量引數

3、存取量高時會建立很多進程

三、使用curl

設定curl的超時時間 CURLOPT_TIMEOUT 為1 (最小為1),因此用戶端需要等待1秒。

a6f8a7b9eeef3e7aedf7f4cecca1458.png

四、使用fsockopen

fsockopen是最好的,缺點是需要自己拼接header部分。

352859e9bcb658561b8cb5ad19ef4a6.png

c6ac54d129699bd1d282361c291f7cc.png

注意:當執行過程中,用戶端連線斷開或連線超時,都會有可能造成執行不完整,因此需要加上。

a25803718121700d9cd6764d9d17977.png

以上就是php中非同步執行的四種方式的詳細內容,更多請關注TW511.COM其它相關文章!