[PHP][PHPExcel] PHPExcel讀檔案記憶體不夠 Fatal Error Allowed memory size of xxx

前幾天在處理客戶Case 時發現,PHPExcel 在讀檔案的時候 會造成 php Fatal Error Allowed memory size of xxx 的問題,
客戶的檔案 約有 10000 record , 5 MB 左右,當初在開發時 只有 500 record ,500KB 所有病沒有產生這樣的問題。
稍微用了一下google 查資料 ,發現 PHPExcel 似乎會產生大量的迴圈 ,這部份可以用 var_dump 一下 物件即可以知道
不過他吃了 快要1G 的 memory   有哪家的公司主機允許這樣子的吃法XD。
後來發現似乎有解 ,只要加入 setReadDataOnly(true) 就可以解決了


以下是原始程式

加入 setReadDataOnly(true)  後

發現 memory   大約只剩下 200 Mb左右 ,還在上可以接受的範圍內XD
不過記得程式結束後 要用 unset 釋放一下 一些變數記憶體XD


Leave a Comment


NOTE - You can use these HTML tags and attributes:
<a href="" title=""> <abbr title=""> <acronym title=""> <b> <blockquote cite=""> <cite> <code> <del datetime=""> <em> <i> <q cite=""> <strike> <strong>