有沒有辦法讓PHP請求,其中用戶不必等待迴應?某種「後臺的php請求」?PHP請求「後臺」
例如,如果應用程序需要發送100封郵件,因爲用戶提交了什麼東西,我不想顯示「發送,請等待」這個用戶,但我想一些其他的腳本來完成這項工作獨立於用戶......
有沒有辦法讓PHP請求,其中用戶不必等待迴應?某種「後臺的php請求」?PHP請求「後臺」
例如,如果應用程序需要發送100封郵件,因爲用戶提交了什麼東西,我不想顯示「發送,請等待」這個用戶,但我想一些其他的腳本來完成這項工作獨立於用戶......
你也許可以通過這種方式發送Ajax請求到UI不會凍結,任務將在服務器上執行?
如果用戶離開頁面在此期間?無論如何,劇本會被執行嗎? – domagojk
@ domagoj412 - 是的。如果請求到達了Web服務器,它將工作。用戶將不會得到迴應。 –
就像Emil說的那樣,如果請求發送到服務器,無論客戶端如何,服務器都不會停止,但客戶端將不會收到來自服務器的任何文本的通知。應該做這個工作,並且不要求你配置其他隊列消息系統。 –
你可以通過ajax發送請求,然後在其他地方成功將用戶重定向。服務器腳本仍將處理,但不會向用戶發送確認。
exec('php script.php > /dev/null & echo $!', $o);
您也可以使用php-cli
而不是php
。上述 該命令返回$問題o [0]後臺腳本的進程ID,因此您可以設置的東西了AJAX或somethig輪詢,如果你想顯示它是進步的用戶。
創建一個PHP程序做的發送郵件的實際工作,並利用該技術described here通過HTTP GET調用它。
谷歌爲「異步PHP」,並檢查http://stackoverflow.com/questions/124462/asynchronous-php-calls – dkretz