首頁 >後端開發 >php教程 >php set_time_limit(0)長連接的實作程式碼範例

php set_time_limit(0)長連接的實作程式碼範例

怪我咯
怪我咯原創
2017-07-06 09:47:481054瀏覽

每次我們造訪PHP腳本的時候,都是當所有的PHP腳本執行完成後,我們才得到回傳結果。如果我們需要一個腳本持續的運行,那麼我們就要透過php長連接的方式,來達到運行目的。

每個PHP腳本都限制了執行時間,所以我們需要透過set_time_limit 來設定一個腳本的執行時間為無限長;然後使用flush() 和ob_flush() 來清除伺服器緩衝區,隨時輸出腳本的回傳值。

如下面這段腳本:

程式碼如下:

<?php 
header("Content-Type: text/plain"); 
set_time_limit(0); 

$infoString = "Hello World" . "\n"; 
while( isset($infoString) ) 
{ 
echo $infoString; 
flush(); 
ob_flush(); 
sleep(5); 
} 
?>

當我們執行後,每隔5秒鐘,我們會得到一行Hello World ,如果不按停止按鈕,瀏覽器會不停的一行一行繼續載入。

透過這個方法,我們可以完成許多功能,例如機器人爬蟲、即時留言板等程式。

以上是php set_time_limit(0)長連接的實作程式碼範例的詳細內容。更多資訊請關注PHP中文網其他相關文章!

陳述:
本文內容由網友自願投稿,版權歸原作者所有。本站不承擔相應的法律責任。如發現涉嫌抄襲或侵權的內容,請聯絡admin@php.cn