2012-05-10 68 views
0

我在我的網站中生成CSV的函數有問題。它給了我錯誤500.當我檢查Apache錯誤日誌,這個問題沒有記錄。在挖掘代碼後,我發現如果CSV文件的數據超過1550行,則會出現此錯誤。使用PHP生成的CSV文件的最大行數

我以爲在php.ini中設置爲max_execution_time太低,但是在我將其增加到600秒後,仍然無法生成超過1550行數據的CSV文件。

任何想法如何解決這個問題?任何人都知道發生了什麼事

+0

您是否啓用了錯誤報告?你的最大內存限制是多少? –

+0

你能發表一些代碼嗎? –

+0

錯誤報告已啓用。我的內存限制是128M – mrkay

回答

0

嘗試添加 ini_set('auto_detect_line_endings',TRUE);

還要測試csv文件,嘗試打開它並保存它。

1

另請參閱set_time_limit

需要考慮的一件事是,一些雲端主機提供商(例如RackSpace)在其負載均衡器中實施超時,如果沒有流量,這將終止連接(請參閱Rackspace Connection Timed Out Error)。

對此,一種可能的解決方法是將數據回顯並刷新到客戶端以保持連接打開。這可以是任何你想要的簡單的HTML評論。

更推薦的解決方案是將冗長的進程卸載到通過CRON作業執行的腳本。那裏有很多PHP作業守護進程的例子。作業守護程序不是必需的,處理數據庫表的簡單PHP腳本足以滿足小型解決方案的需求。