我有一個發送通知郵件的PHP頁面。當它發出超過100次時,它會超時。我希望頁面能夠像Kayak一樣工作,以便用戶可以看到進度(因此他們會等待更長的時間)。PHP頁面超時 - 我可以通過異步顯示來解決嗎?
如何將我的頁面快速發送郵件之前加載(防止超時),然後更新爲當過程運行(例如,作爲每封電子郵件被髮送行被寫入到屏幕)?
我有一個發送通知郵件的PHP頁面。當它發出超過100次時,它會超時。我希望頁面能夠像Kayak一樣工作,以便用戶可以看到進度(因此他們會等待更長的時間)。PHP頁面超時 - 我可以通過異步顯示來解決嗎?
如何將我的頁面快速發送郵件之前加載(防止超時),然後更新爲當過程運行(例如,作爲每封電子郵件被髮送行被寫入到屏幕)?
你可以使用AJAX做到這一點。發送一個發出50(或任何其他適合時間限制的數字)的AJAX請求並回顯結果。當請求成功完成後,使用名爲offset的參數發送下一個AJAX-Request,該參數將用於跳過第一個X數據集。
使用AJAX。最好不要在服務器端的PHP。像這樣的東西確實需要一個工作者線程 - 也許你可以用['proc_open()'](http://php.net/manual/en/function.proc-open.php)來模仿它,但這並不容易 - 你最好開始一個工作進程,然後用AJAX輪詢數據庫以獲得進度更新。 – DaveRandom 2012-01-08 17:15:08