我使用simplexlsx类读取38879行数据(在1张纸上),我遇到了内存问题(Out of Memory)。我的服务器的内存大小是48 GIGS,我将memory_limit(php.ini)设置为9000MB,但问题仍然存在!你能告诉我我该做什么吗?
答案 0 :(得分:0)
突破限制几乎不是处理运行数千行数据的方法 - 除非有特定原因。这是由于代码中可怕的内存浪费,你的情况很可能是脚本正在创建一个巨大的行数组(或对象)。我建议改变代码以提高内存效率,而不是提高内存限制。
我从未听说过SimpleXLSX,但我使用过PHPExcel,我从未遇到过这个问题。如果您使用PHPExcel进行改造并不是太多工作,我建议您使用它。
答案 1 :(得分:0)
SimpleXLSX和PHPExcel在许多方面都非常擅长,但在阅读大型电子表格时都很糟糕(你不能擅长所有内容!)。
我遇到了同样的问题,甚至在使用PHPExcel的优化(缓存,读取数据块,......)时,它也没有用完。内存不足错误已得到修复,但读取一个甚至不大的文件都需要永远。
所以我最终创建了一个库来解决这个规模问题。试一试,如果有帮助,请告诉我:https://github.com/box/spout