PHP set_time_limit(0)長連接的實現(xiàn)分析
更新時間:2010年03月02日 13:28:17 作者:
每次我們訪問PHP腳本的時候,都是當(dāng)所有的PHP腳本執(zhí)行完成后,我們才得到返回結(jié)果。如果我們需要一個腳本持續(xù)的運行,那么我們就要通過php長連接的方式,來達到運行目的。
每個PHP腳本都限制了執(zhí)行時間,所以我們需要通過 set_time_limit 來設(shè)置一個腳本的執(zhí)行時間為無限長;然后使用 flush() 和 ob_flush() 來清除服務(wù)器緩沖區(qū),隨時輸出腳本的返回值。
如下面這段腳本:
<?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秒鐘,我們會得到一行 Hello World ,如果不按停止按鈕,瀏覽器會不停的一行一行繼續(xù)加載。
通過這一方法,我們可以完成很多功能,例如機器人爬蟲、即時留言板等程序。
如下面這段腳本:
復(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秒鐘,我們會得到一行 Hello World ,如果不按停止按鈕,瀏覽器會不停的一行一行繼續(xù)加載。
通過這一方法,我們可以完成很多功能,例如機器人爬蟲、即時留言板等程序。
相關(guān)文章
學(xué)習(xí)discuz php 引入文件的方法DISCUZ_ROOT
這是discuz中定義論壇安裝根目錄的一個常量?,F(xiàn)在我們就來分析一下這個很簡單但是非常實用的常量。2009-06-06
真正根據(jù)utf8編碼的規(guī)律來進行截取字符串的函數(shù)(utf8版sub_str )
真正根據(jù)utf8編碼的規(guī)律來進行截取的字符的函數(shù),utf8版sub_str 支持1~6個字節(jié)的字符的截取,而非只針對中文,比網(wǎng)上的全2012-10-10
PHP查詢并刪除數(shù)據(jù)庫多列重復(fù)數(shù)據(jù)的方法(利用數(shù)組函數(shù)實現(xiàn))
這篇文章主要介紹了PHP查詢并刪除數(shù)據(jù)庫多列重復(fù)數(shù)據(jù)的方法,利用數(shù)組函數(shù)實現(xiàn)該功能,涉及PHP數(shù)據(jù)庫操作的相關(guān)技巧,需要的朋友可以參考下2016-02-02
淺析PHP中的字符串編碼轉(zhuǎn)換(自動識別原編碼)
本篇文章是對PHP中字符串編碼轉(zhuǎn)換的實現(xiàn)代碼進行了詳細的分析介紹,需要的朋友參考下2013-07-07

