首頁 >後端開發 >php教程 >如何在發送 HTTP 回應後保持 PHP 執行運作?

如何在發送 HTTP 回應後保持 PHP 執行運作?

Barbara Streisand
Barbara Streisand原創
2024-11-12 13:10:02689瀏覽

How Can I Keep PHP Execution Running After Sending an HTTP Response?

使用mod_php 進行HTTP 回應後繼續執行PHP

克服由於先前逾時而導致PHP 執行被呼叫應用程式終止的問題腳本可以完成基本操作,可以利用PHP 腳本本身的特定技術。

回應中止-復原方法

提供的程式碼片段利用以下內容做法:

  1. 清除輸出緩衝區並設定「Connection: close」標頭來終止HTTP回應。
  2. 啟用「ignore_user_abort」以防止PHP執行被客戶端中斷.
  3. 啟動一個新的輸出緩衝區。
  4. 將所需的訊息回顯到瀏覽器。
  5. 取得輸出緩衝區的大小並新增一個「Content-Length」標頭通知瀏覽器回應大小。
  6. 刷新兩個輸出緩衝區以將回應傳送到客戶端。
  7. 關閉會話以釋放 PHP 持有的資源。
  8. 執行其他操作修改後的腳本中的處理和操作。

實作細節

需要注意的是,「ob_end_flush()」和「flush()」函數都需要依序呼叫才能將回應傳送到客戶端。此外,一些用戶報告稱,透過添加「session_write_close()」來關閉 PHP 的會話管理資源,結果得到了改善。

透過實作此方法,PHP 腳本可以快速向等待的應用程式分派 HTTP 回應,並繼續執行重要操作不會面臨提前終止問題。

以上是如何在發送 HTTP 回應後保持 PHP 執行運作?的詳細內容。更多資訊請關注PHP中文網其他相關文章!

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