2017-02-27 43 views
0

怎樣才能緩解服務器或瀏覽器施加的超時?在許多託管託管服務器上,即使set_time_limit(x)ini_set('max_execution_time', x)都被覆蓋,並且通常會被限制爲幾分鐘。繞過PHP超時

拆分多個文件之間的工作量並重定向到下一個文件將是一種可能性,但Google Chorme例如在20次重定向後中止。

是否有其他方法可以防止腳本過早退出?

我知道StackOverflow不太喜歡這類問題,但沒有任何可比較的幫助網站。

非常感謝您

+0

瀏覽器沒有任何超時。它將永遠等待。沒有什麼可以做的,以避免服務器超時他們的目的是防止資源佔用過程。您可以通過接受作業,將它們放入隊列,使用一些後臺進程處理它們並將結果存儲在數據庫中,然後在準備就緒時顯示用戶結果來解決這些問題。 – Dimi

+2

你需要從瀏覽器中完成嗎?從命令行使用像cron這樣的任務調度器似乎是基於您提供的少量信息的更好的解決方案。 – jeroen

+0

'託管託管服務器'這就是一個企業,所以你必須支付更多的資源。但是你正在談論「重定向」,但是有可能做一個後臺工作嗎?比如'shell_exec('ab.php >> log.log 2> &1 &');'或者其他? – JustOnUnderMillions

回答

0

通過setInterval()運行通過AJAX迭代你的PHP腳本。調整您的PHP腳本,爲每次迭代運行可管理的批次。