php set_time_limit(0)長串連的實現程式碼範例

來源:互聯網
上載者:User
每次我們訪問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 ,如果不按停止按鈕,瀏覽器會不停的一行一行繼續載入。

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

相關文章

聯繫我們

該頁面正文內容均來源於網絡整理,並不代表阿里雲官方的觀點,該頁面所提到的產品和服務也與阿里云無關,如果該頁面內容對您造成了困擾,歡迎寫郵件給我們,收到郵件我們將在5個工作日內處理。

如果您發現本社區中有涉嫌抄襲的內容,歡迎發送郵件至: info-contact@alibabacloud.com 進行舉報並提供相關證據,工作人員會在 5 個工作天內聯絡您,一經查實,本站將立刻刪除涉嫌侵權內容。

A Free Trial That Lets You Build Big!

Start building with 50+ products and up to 12 months usage for Elastic Compute Service

  • Sales Support

    1 on 1 presale consultation

  • After-Sales Support

    24/7 Technical Support 6 Free Tickets per Quarter Faster Response

  • Alibaba Cloud offers highly flexible support services tailored to meet your exact needs.