在尋求連接到網路攝影機並透過中繼腳本中繼資料時,您'我們遇到了一個不受歡迎的緩衝問題。為了解決這個障礙,讓我們深入研究 PHP 緩衝機制的細節及其對腳本的潛在影響。
第一層緩衝我們將遇到的是“輸出緩衝區”,它專門管理髮往響應正文的輸出,而標頭不受影響。預設情況下,PHP 在此緩衝區中緩衝最多 4096 字節,當違反該閾值或發生 echo 語句和類似的輸出生成操作時,將刷新它。
要覆寫此預設行為,您可以選擇停用輸出透過在 php.ini 檔案中將 output_buffering 指令設為 Off 來完全緩衝。或者,您可以透過儘早呼叫 ob_end_clean() 或 ob_end_flush() 來停用單一腳本。
超越輸出緩衝區位於一個稱為「寫入緩衝區」的附加緩衝區,它與Web伺服器使用的任何緩衝區一起工作。當將 Apache 與 mod_php(不含 mod_gzip)結合使用時,呼叫lush() 會為您提供協助,將輸出刷新到瀏覽器。其他後端也可能支援這一點,儘管 PHP 手冊沒有提供任何保證。
最後,您有兩種自動觸發的方法在每個輸出操作後調用flush():
有了這些見解,您就可以解決困擾中繼腳本的緩衝問題,並為無縫資料鋪平道路串流媒體。
以上是如何停用 PHP 中的輸出緩衝以從網路攝影機傳輸資料?的詳細內容。更多資訊請關注PHP中文網其他相關文章!