2012-09-05 43 views
0

我有一個腳本,通過CURL加載csv,一旦我有csv它將每個記錄添加到數據庫,並在完成時顯示添加的註冊表總量。symfony2長腳本中斷並顯示保存對話框

在少於500個註冊表中,它執行得很好,問題是當註冊表數量太大時,執行會在某個時間點中斷,並且瀏覽器顯示下載對話框,並顯示一個名爲類似最後一部分的文件我的網址沒有任何擴展名。沒有警告,錯誤或任何類型的信息。數據庫顯示它添加了一些註冊表,如果我多次運行該腳本,它會增加一小部分。

我試圖尋找有類似情況的人,但還沒有找到它。

我將不勝感激關於此事的任何見解,我不確定這是symfony2問題,服務器配置問題還是什麼。

在此先感謝

回答

1

這更多您的Web服務器/環境PHP在運行的限制

增加的max_execution_time,讓你的服務器運行的要求更長 - 選擇將是寫一個控制檯命令,在命令行環境在許多情況下不受限制。

+1

只是爲了評論問題是在zend服務器CE配置中,它忽略了apache配置,並設置了一個硬的maximum_execution_time爲60 – rpalaciosv

2

可能您的腳本達到了默認30秒的最大php執行時間。您可以在控制器中使用php set_time_limit()函數進行冗長的操作來更改它。例如:

set_time_limit (300); //300 seconds = 5 minutes 
+0

你也可以嘗試優化你的加載程序,以便它執行得更快:-) –

+0

我已經認爲,我的max_execution_time設置爲600,並且我添加了一個set_time_limit(600),但它不會幫助。此外,還沒有出現「致命錯誤:超過最大執行時間...」的消息。我剛剛測試過,似乎在1分鐘後停止。 – rpalaciosv

+0

在腳本中調用set_time_limit()可能最終會破壞您的單元測試,因爲它們通常會在單個進程中運行。 @ weyandch的回答是一個更好的選擇。 – Ryan