我使用dompdf生成約700個PDF並將它們保存到磁盤。每一個涉及一個數據庫查詢來獲取PDF的信息。當我運行它時,我大概會花2分鐘時間,然後耗盡內存。在PHP中執行大型操作而不會耗盡內存?
爲什麼我內存不足?不應該每個PDF生成消耗x內存,然後在完成時釋放它?
在PHP這樣的大型操作中避免扼殺你的服務器有什麼好的做法?
一些更多的信息:
- 它運行內存之前生成的PDF文件很多(有些100S)
- 失敗上的PDF是不以任何方式異常大的或特殊。它們都在4KB到500KB之間
- 看着內存使用情況,它在處理它時只是緩慢地爬上去,直到它用完爲止。
我不能讓所見即所得正確編碼格式,所以這裏是有問題的片段一pastie:http://pastie.org/3800751
處理X個PDF文件之後,還是在處理完任何文件之後,內存是否用完? – 2012-04-16 21:42:38
你可以創建相同的PDF 700次嗎?也許這只是一個太大的PDF達到最大值。內存限制從php.ini? – Smamatti 2012-04-16 21:44:17
借調。我們需要遠遠超過這個來診斷問題。如果您只生成一個PDF會發生什麼?你可以發佈你的算法的僞代碼,或者甚至更好的問題的最小例子? – jimw 2012-04-16 21:44:24