我收到此錯誤信息:PHP內存限制 - OutOfMemoryException異常
Error: Allowed memory size of 536870912 bytes exhausted (tried to allocate 13343871 bytes)
我並不感到驚訝,因爲它是一個腳本這是產生的數千條記錄的報告(數以千計的SQL查詢獲得 - 由於它的本性,它不會是一個有效的腳本)。這是一個緩慢的腳本,這是可以的 - 我已經在頁面上發出警告,通知用戶這一點。
我只是不想讓這個錯誤發生。
生成的CSV文件在我看來是完整的(就數據而言),但在CSV文件的底部,我收到了堆棧跟蹤和OutOfMemoryException異常,如上面的消息中所示。
因爲我已經覆蓋了PHP默認腳本的這一特定部分:
ini_set('memory_limit', '512M');
ini_set('max_execution_time', 300);
還有什麼我可以做什麼?
我想嘗試流csv。經常沖洗輸出緩衝區。爲什麼在發送之前將整個內容留在內存中? – keyboardSmasher
如果您不在乎分配更多內存 –