PHP四種常用的非同步處理解決方案

2021-09-02 17:22:29 字數 1015 閱讀 9705

1、使用前端ajax處理

$.ajax("do.php", );

2、使用popen函式執行本地檔案

pclose(popen('php /var/www/do.php &', 'r'));

3、使用curl

設定curl的超時時間 curlopt_timeout 為1 (最小為1),因此客戶端需要等待1秒,curl請求位址必須為絕對路徑

$param = array(

'name'=>'ityangs',

'job'=>'php programmer'

);$ch = curl_init();

curl_setopt($ch, curlopt_url,"");

curl_setopt($ch, curlopt_post, 1);

curl_setopt($ch, curlopt_postfields, http_build_query($param)); //將陣列轉換為url請求字串

curl_setopt($ch, curlopt_returntransfer, 1);

curl_setopt($ch, curlopt_header, false);

curl_setopt($ch, curlopt_timeout, 1);

curl_exec($ch);

curl_close($ch);

4、使用fsockopen函式,需要自己拼接header部分注意:

1、如果使用apache作為web伺服器,讓php支援非同步首先必須得在apache配置檔案httpd.conf配置enablesendfile 

on。 

2、在非同步執行的php檔案中建議加上一下兩個配置:

ignore_user_abort(true); // 忽略客戶端斷開

set_time_limit(0); // 設定執行不超時

四種PHP非同步執行的常用方式

客戶端與伺服器端是通過http協議進行連線通訊,客戶端發起請求,伺服器端接收到請求後執行處理,並返回處理結果。有時伺服器需要執行很耗時的操作,這個操作的結果並不需要返回給客戶端。但因為php是同步執行的,所以客戶端需要等待服務處理完才可以進行下一步。因此對於耗時的操作適合非同步執行,伺服器接收到請求...

四種PHP非同步執行的常用方式

客戶端與伺服器端是通過http協議進行連線通訊,客戶端發起請求,伺服器端接收到請求後執行處理,並返回處理結果。有時伺服器需要執行很耗時的操作,這個操作的結果並不需要返回給客戶端。但因為php是同步執行的,所以客戶端需要等待服務處理完才可以進行下一步。因此對於耗時的操作適合非同步執行,伺服器接收到請求...

PHP常用的四種排序

所謂排序,就是使一串記錄,按照其中的某個或某些關鍵字的大小,遞增或遞減的排列起來的操作。排序演算法,就是如何使得記錄按照要求排列的方法。排序演算法在很多領域得到相當地重視,尤其是在大量資料的處理方面。乙個優秀的演算法可以節省大量的資源。在各個領域中考慮到資料的各種限制和規範,要得到乙個符合實際的優秀...