<?phpnamespace 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請求的處理過程...