簡體   English   中英

PHP-共享主機環境上的長時間運行過程

[英]PHP - Long running process on shared hosting environment

我有一個無法解決的問題。 我正在開發腳本,並且運行過程很長,總的來說,我是從外部url抓取一些數據,然后將這些數據添加到數據庫中,這大約需要30分鍾。

我已經使用@ini_set(“ max_execution_time”,1800); 使腳本運行足夠長的時間。

像這樣:

function calculator_get_games() {
   @ini_set( "max_execution_time", 1800 );

   $api = Api::getInstance();

   $api::get_all_games();
}

那在我的本地主機上工作。 問題是,當然,共享主機環境不起作用。 腳本在經過一定時間后制動,並且出現503錯誤。

奇怪的是,我認為這與max_execution_time不相關,因為腳本在剎車之前運行了幾分鍾,並且服務器上的max_execution_time設置為60秒。 我讀到某個地方可以使用set_time_limit()函數來重置計數器或延長腳本的執行時間,但這無濟於事,一段時間后我遇到了同樣的錯誤。 我還讀到一些共享主機上的公司設置了一個PHP腳本可以運行多長時間的限制,與max_execution_time不相關。

關鍵是該腳本可以由各種用戶使用,而我無法控制服務器。 因此,我希望找到一種方法,如果可能的話,甚至允許腳本在如上所述的共享主機上運行,​​因此用戶可以在幾乎所有主機環境上使用腳本而不會出現問題。

因此,感謝您的幫助。 我可以使用的任何想法或替代方法。

謝謝。

編輯:

像Jamie_D指出的那樣,我不夠清楚。 我已經在后台使用WordPress Cron來啟動腳本並每天進行更新。 但是它與我嘗試從瀏覽器執行腳本的時間同時剎車。 我正在開發一個用戶基本上可以在任何服務器上使用的插件。 激活插件后,WP cron將開始使用file_get_contents抓取數據,並在30分鍾后返回數據,這些數據將被饋送到數據庫中。 希望能對此有所澄清,對不起,對於我的困惑,我在某些方面還是很入門的。

如果您需要執行花費這么長時間的腳本,我會考慮不依賴調用腳本的后台進程。 由於您尚未弄清申請意圖,因此無法為您指明正確的方向。

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM