用PHP實(shí)現(xiàn)異步請(qǐng)求、忽略返回值的方法

小編給大家分享一下用PHP實(shí)現(xiàn)異步請(qǐng)求、忽略返回值的方法,相信大部分人都還不怎么了解,因此分享這篇文章給大家參考一下,希望大家閱讀完這篇文章后大有收獲,下面讓我們一起去了解一下吧!

成都創(chuàng)新互聯(lián)2013年至今,是專(zhuān)業(yè)互聯(lián)網(wǎng)技術(shù)服務(wù)公司,擁有項(xiàng)目網(wǎng)站制作、成都網(wǎng)站設(shè)計(jì)網(wǎng)站策劃,項(xiàng)目實(shí)施與項(xiàng)目整合能力。我們以讓每一個(gè)夢(mèng)想脫穎而出為使命,1280元港口做網(wǎng)站,已為上家服務(wù),為港口各地企業(yè)和個(gè)人服務(wù),聯(lián)系電話:18982081108

項(xiàng)目需要,場(chǎng)景如下:

某個(gè)條件下需要調(diào)用接口發(fā)送多個(gè)請(qǐng)求執(zhí)行腳本,但是由于每個(gè)請(qǐng)求下的腳本執(zhí)行時(shí)間在半個(gè)小時(shí)左右,所以 就放棄返回執(zhí)行結(jié)果,只要求能秒發(fā)送所以就可以。

代碼如下:

/**
     * 發(fā)起異步請(qǐng)求,忽略返回值
     * @param $url  請(qǐng)求url
     * @return bool
     */
    function asyncPost($url)
    {
        $args = parse_url($url); //對(duì)url做下簡(jiǎn)單處理
        $host = $args['host']; //獲取上報(bào)域名
        $path = $args['path'] . '?' . $args['query'];//獲取上報(bào)地址
        $fp = fsockopen($host, 80, $error_code, $error_msg, 1);
        if (!$fp) {
            Log::record('獲取錯(cuò)誤信息:'.$error_code . ' _ ' . $error_msg, Log::INFO, true);
            Log::save('',LOG_PATH . '_' . date('y_m_d') . '.txt');
            return false;//
        } else {
            stream_set_blocking($fp, true);//開(kāi)啟了手冊(cè)上說(shuō)的非阻塞模式
            stream_set_timeout($fp, 1);//設(shè)置超時(shí)
            $header = "GET $path HTTP/1.1\r\n";  //注意 GET/POST請(qǐng)求都行 我們需要自己按照要求拼裝Header http協(xié)議遵循1.1
            $header .= "Host: $host\r\n";
            $header .= "Connection: close\r\n\r\n";//長(zhǎng)連接關(guān)閉
            fputs($fp, $header);
            fclose($fp);
        }
    }

例子如下:

$url[0] = "http://XXXX/demo.php?a=1&b=2&c=3&d=4&e=5";
$url[1] = "http://XXXX/demo.php?a=1&b=2&c=3&d=4&e=5";
$url[2] = "http://XXXX/demo.php?a=1&b=2&c=3&d=4&e=5";
$url[3] = "http://XXXX/demo.php?a=1&b=2&c=3&d=4&e=5";
$url[4] = "http://XXXX/demo.php?a=1&b=2&c=3&d=4&e=5";
$url[5] = "http://XXXX/demo.php?a=1&b=2&c=3&d=4&e=5";
foreach($url as $k=>$val){
    asyncPost($val);
}

結(jié)果如下:

用PHP實(shí)現(xiàn)異步請(qǐng)求、忽略返回值的方法

上述是我多次測(cè)試結(jié)果,時(shí)間范圍如上。

以上是用PHP實(shí)現(xiàn)異步請(qǐng)求、忽略返回值的方法的所有內(nèi)容,感謝各位的閱讀!相信大家都有了一定的了解,希望分享的內(nèi)容對(duì)大家有所幫助,如果還想學(xué)習(xí)更多知識(shí),歡迎關(guān)注創(chuàng)新互聯(lián)行業(yè)資訊頻道!

當(dāng)前標(biāo)題:用PHP實(shí)現(xiàn)異步請(qǐng)求、忽略返回值的方法
文章鏈接:http://muchs.cn/article26/ihcdcg.html

成都網(wǎng)站建設(shè)公司_創(chuàng)新互聯(lián),為您提供動(dòng)態(tài)網(wǎng)站電子商務(wù)、網(wǎng)站策劃自適應(yīng)網(wǎng)站、標(biāo)簽優(yōu)化定制開(kāi)發(fā)

廣告

聲明:本網(wǎng)站發(fā)布的內(nèi)容(圖片、視頻和文字)以用戶投稿、用戶轉(zhuǎn)載內(nèi)容為主,如果涉及侵權(quán)請(qǐng)盡快告知,我們將會(huì)在第一時(shí)間刪除。文章觀點(diǎn)不代表本網(wǎng)站立場(chǎng),如需處理請(qǐng)聯(lián)系客服。電話:028-86922220;郵箱:631063699@qq.com。內(nèi)容未經(jīng)允許不得轉(zhuǎn)載,或轉(zhuǎn)載時(shí)需注明來(lái)源: 創(chuàng)新互聯(lián)

商城網(wǎng)站建設(shè)