php非同步處理

2022-06-07 06:06:10 字數 1484 閱讀 5900

<?php

namespace index\controller;

usecore\controller;

class test extends

controller

public

function

test12()

/*** php非同步請求

** @param $host string 主機位址

* @param $path string 路徑

* @param $param array 請求引數

* @return string

*/public

static

function asyncrequest($url,$post_data=array(),$cookie=array

())

$fp = fsockopen($url_arr['host'],$port,$errno,$errstr,30);

if(!$fp) return

false;

$getpath = isset($url_arr['path'])?$url_arr['path']:'/index.php';

$getpath .= isset($url_arr['query'])?'?'.$url_arr['query']:'';

$method = 'get'; //

預設get方式

資料長度

$post_str .= "connection:close\r\n\r\n";

$post_str .= $_post; //

傳遞post資料

$header .= $post_str;

}else

fwrite($fp, $header);

usleep(1000); //

這一句也是關鍵,如果沒有這延時,可能在nginx伺服器上就無法執行成功

fclose($fp);

return

true

; }

}

轉 :  

php處理非同步請求 PHP非同步請求實現方式

一.使用fsockopen的方式 我們建立了乙個基於fsockopen的函式,這個函式中利用fsockopen去訪問url,但是在訪問時,並不要求獲取url顯示的內容,而是僅僅發出訪問請求,請求到達後馬上關閉這個訪問.使用fsocketopen 方式傳送非同步請求,put方式 stream set ...

php處理非同步請求 PHP實現非同步呼叫方法研究

瀏覽器和伺服器之間是通過 http 協議進行連線通訊的。這是一種基於請求和響應模型的協議。瀏覽器通過 url 向伺服器發起請求,web 伺服器接收到請求,執行一段程式,然後做出響應,傳送相應的html 給客戶端。這就有了乙個問題,web 伺服器執行一段程式,可能幾毫秒就完成,也可能幾分鐘都完不成。如...

PHP實現非同步處理利器 Gearman

通常,多語言多系統之間的整合是個大問題,一般來說,人們多半會採用webservice的方式來處理此類整合問題,但不管採用何種風格的webservice,如rpc風格,或者rest風格,其本身都有一定的複雜性。相比之下,gearman也能實現類似的作用,而且更簡單易用。乙個gearman請求的處理過程...