我有一個用戶轉到網址時發生的操作。該操作涉及大量的插入 - 更新MYSQL數據庫,並且需要花費很長時間才能完成。我想知道即使用戶切換到另一個頁面,此操作是否仍然存在?我希望如此,因爲PHP是服務器端。但我想對此有一個明確的解釋。任何人?HTTP請求和PHP進程
回答
不,Apache和PHP的默認操作是在用戶斷開連接時終止腳本。這種終止可能會在連接斷開後的任何時候發生,因此腳本可能會運行數小時,或者可能會立即死亡。通常,當腳本嘗試執行任何輸出時會發生kill。
如果你需要保持,儘管用戶斷開連接的運行腳本,那麼你就必須在這種情況下,你爲什麼不運行在後臺任務使用
ignore_user_abort(TRUE);
我剛剛注意到,實際上即使用戶試圖轉到其他頁面,也不可能在腳本完成之前。我該如何做到這一點,以便我可以給用戶回覆一條消息,說明正在執行腳本,並在用戶完成時收到通知。然後用戶可以繼續在我們的服務器上執行腳本時執行其他操作。 – nezgerland
你在使用會話嗎?當腳本正在使用它時,PHP會鎖定會話文件。您必須在長時間運行的腳本中使用'session_write_close()'來允許其他並行請求繼續。 –
是的,我正在使用會話。而不是做session_write_close(),所以這對我來說絕對是有趣的:) ..謝謝! – nezgerland
- 1. php http請求
- 2. HTTP請求和線程
- 3. Nativescript HTTP請求PHP
- 4. 從TIBCO BW進程獲取HTTP請求
- 5. http請求的HTTP請求
- 6. 進行HTTP POST請求
- 7. 用PHP和cURL複製HTTP請求
- 8. Http請求和PHP POST/GET VB.Net
- 9. PHP長郵件隊列和HTTP請求
- 10. JSF和HTTP請求
- 11. angularjs和$ http請求
- 12. JSON.stringify和$ http請求
- 13. HTTP請求和GET
- 14. eBay PHP HTTP POST請求?
- 15. HTTP API請求Brandwatch PHP
- 16. 對http請求使用php
- 17. 通過PHP的http請求
- 18. PHP併發HTTP請求?
- 19. http請求php的聽衆
- 20. PHP中的HTTP POST請求
- 21. HTTP請求/響應PHP
- 22. LiFx HTTP API請求與PHP
- 23. PHP可以向HTTP請求HTTP嗎?
- 24. Python的多線程和HTTP請求
- 25. Gearman php-workers:請求fork進程
- 26. 異步HTTP請求與新線程上的HTTP請求
- 27. HTTP請求流程圖
- 28. HTTP請求/響應流程
- 29. 逆向工程HTTP請求
- 30. 區分插件HTTP請求和JavaScript HTTP請求
。那麼用戶的操作與他運行腳本無關。 – 2012-05-06 21:02:16