PHP set_time_limit(0)長(zhǎng)連接的實(shí)現(xiàn)分析
更新時(shí)間:2010年03月02日 13:28:17 作者:
每次我們?cè)L問(wèn)PHP腳本的時(shí)候,都是當(dāng)所有的PHP腳本執(zhí)行完成后,我們才得到返回結(jié)果。如果我們需要一個(gè)腳本持續(xù)的運(yùn)行,那么我們就要通過(guò)php長(zhǎng)連接的方式,來(lái)達(dá)到運(yùn)行目的。
每個(gè)PHP腳本都限制了執(zhí)行時(shí)間,所以我們需要通過(guò) set_time_limit 來(lái)設(shè)置一個(gè)腳本的執(zhí)行時(shí)間為無(wú)限長(zhǎng);然后使用 flush() 和 ob_flush() 來(lái)清除服務(wù)器緩沖區(qū),隨時(shí)輸出腳本的返回值。
如下面這段腳本:
<?php
header("Content-Type: text/plain");
set_time_limit(0);
$infoString = "Hello World" . "\n";
while( isset($infoString) )
{
echo $infoString;
flush();
ob_flush();
sleep(5);
}
?>
當(dāng)我們執(zhí)行后,每隔5秒鐘,我們會(huì)得到一行 Hello World ,如果不按停止按鈕,瀏覽器會(huì)不停的一行一行繼續(xù)加載。
通過(guò)這一方法,我們可以完成很多功能,例如機(jī)器人爬蟲(chóng)、即時(shí)留言板等程序。
如下面這段腳本:
復(fù)制代碼 代碼如下:
<?php
header("Content-Type: text/plain");
set_time_limit(0);
$infoString = "Hello World" . "\n";
while( isset($infoString) )
{
echo $infoString;
flush();
ob_flush();
sleep(5);
}
?>
當(dāng)我們執(zhí)行后,每隔5秒鐘,我們會(huì)得到一行 Hello World ,如果不按停止按鈕,瀏覽器會(huì)不停的一行一行繼續(xù)加載。
通過(guò)這一方法,我們可以完成很多功能,例如機(jī)器人爬蟲(chóng)、即時(shí)留言板等程序。
您可能感興趣的文章:
- PHP使用Redis長(zhǎng)連接的方法詳解
- PHP長(zhǎng)連接實(shí)現(xiàn)與使用方法詳解
- PHP擴(kuò)展模塊memcached長(zhǎng)連接使用方法分析
- 基于php實(shí)現(xiàn)長(zhǎng)連接的方法與注意事項(xiàng)的問(wèn)題
- 基于HTTP長(zhǎng)連接的"服務(wù)器推"技術(shù)的php 簡(jiǎn)易聊天室
- PHP編程實(shí)現(xiàn)的TCP服務(wù)端和客戶端功能示例
- php實(shí)現(xiàn)TCP端口檢測(cè)的方法
- 詳解PHP Swoole長(zhǎng)連接常見(jiàn)問(wèn)題
相關(guān)文章
php中根據(jù)變量的類(lèi)型 選擇echo或dump
有時(shí)候,我們想輸出一個(gè)變量,如果是數(shù)組的,則var_dump,如果是字符串之類(lèi)的,則echo即可2012-07-07
學(xué)習(xí)discuz php 引入文件的方法DISCUZ_ROOT
這是discuz中定義論壇安裝根目錄的一個(gè)常量?,F(xiàn)在我們就來(lái)分析一下這個(gè)很簡(jiǎn)單但是非常實(shí)用的常量。2009-06-06
php下刪除一篇文章生成的多個(gè)靜態(tài)頁(yè)面
php自定義函數(shù)之刪除一篇文章生成的多個(gè)靜態(tài)頁(yè)面,可能有多頁(yè)的文章,都是需要考慮到的。2010-08-08
php+xml實(shí)現(xiàn)在線英文詞典之添加詞條的方法
這篇文章主要介紹了php+xml實(shí)現(xiàn)在線英文詞典之添加詞條的方法,接著上一篇的通過(guò)英文查詢漢字進(jìn)一步完善了詞條的添加功能,具有一定參考借鑒價(jià)值,需要的朋友可以參考下2015-01-01
真正根據(jù)utf8編碼的規(guī)律來(lái)進(jìn)行截取字符串的函數(shù)(utf8版sub_str )
真正根據(jù)utf8編碼的規(guī)律來(lái)進(jìn)行截取的字符的函數(shù),utf8版sub_str 支持1~6個(gè)字節(jié)的字符的截取,而非只針對(duì)中文,比網(wǎng)上的全2012-10-10
PHP查詢并刪除數(shù)據(jù)庫(kù)多列重復(fù)數(shù)據(jù)的方法(利用數(shù)組函數(shù)實(shí)現(xiàn))
這篇文章主要介紹了PHP查詢并刪除數(shù)據(jù)庫(kù)多列重復(fù)數(shù)據(jù)的方法,利用數(shù)組函數(shù)實(shí)現(xiàn)該功能,涉及PHP數(shù)據(jù)庫(kù)操作的相關(guān)技巧,需要的朋友可以參考下2016-02-02
淺析PHP中的字符串編碼轉(zhuǎn)換(自動(dòng)識(shí)別原編碼)
本篇文章是對(duì)PHP中字符串編碼轉(zhuǎn)換的實(shí)現(xiàn)代碼進(jìn)行了詳細(xì)的分析介紹,需要的朋友參考下2013-07-07

