!PHP - Divide et Impera避免致命錯誤:Maxim執行時間超過每個人
我正在構建一個'Seeker'以從7個網站獲得一些價格。我正在使用cUrl來獲得這個價格,我正在處理這個問題:致命錯誤:超出最大執行。我已經閱讀了這篇文章並看到了一些解決方案,但是我想知道我是否可以將流程分割得比現在更多。因此,這裏是我的應用程序:
客戶進入我的網站上,搜索項目的一些代碼(最壞情況下的5個不同的代碼,一旦一個),併發送價格的請求。所以我張貼的最多5碼我MainController的陣列,每一個控制器上的陣列分佈,像這樣:
$codesArray -> MainController -> foreach(ControllersList as Controller){Controller->getPrices($codesArray)}
我認爲時間執行分配錯誤的,或者不是我想要的,因爲我已經用3個代碼和「致命錯誤:最大執行時間:30秒」在開始33秒之後在第五個控制器上進行測試。我認爲不可能在3秒內搜索3個項目4次並超過第5個項目,所以這意味着服務器正在計算MainController進程,而不是每個進程本身。我的問題是,我怎樣才能正確劃分流程以獲得每個控制器的時間分配?
我希望我讓自己明白,對不好的英語抱歉,也不好解釋。
注:我測試的每個控制器的7碼數組,我從來沒有得到這個致命錯誤,這就是爲什麼我要分割的過程,但我不知道如何..
注意二:發送一個代碼一次會導致n * 7更多的捲曲執行,因爲對於數組,該過程僅重複搜索功能,而不是整個連接到網站 - >檢查登錄 - >登錄* - >搜索
是的,錯誤是在curl_exec($ ch);行我會試試這個,另一個問題是,如果我將控制器按執行時間分割,就像MoreTimeExecution和4 LessTImeExecution中的這3個一樣,並用ajax調用每個控制器將導致每個類別的響應時間爲30秒,這是因爲我會嘗試它並查看結果。阿賈克斯提出2個要求? –