我正在使用 PHPExcel 根据数据库中的记录创建一个 Excel 文件,在大型数据集上生成它时遇到一个奇怪的问题。我已将其范围缩小到一个引起问题的行:
$objWriter->save('php://output');
它只是输出一个空白文件而不是预期的工作簿。另外,如果我尝试将结果保存到本地文件而不是重定向到浏览器,效果是类似的 - 不会创建任何文件。
更棒的是,它非常适合较小的数据集(较小 = 最多 200 行,较大 = 最多 2000 行,两种情况下最多 20 列)。它在另一台(开发)服务器上也可以正常工作完全相同,100% 相同,大数据集。
我确实有save()
调用包装在 try-catch 中,但不会引发异常。执行中memory_get_peak_usage()
就在去之前save()
告诉我它使用了 24MB,我已经ini_set('memory_limit', '-1')
在脚本的前面。此外,在运行脚本时监视服务器上的内存使用情况也没有显示任何显着增加。
有什么调试技巧吗?
编辑:apache 日志中没有错误,但是我确实注意到访问日志中的相关行显示:
10.1.1.1 - - [01/Jun/2011:08:35:03 -0400] "GET /get_excel.php HTTP/1.1" 200 16386
奇怪的部分是最后一列——大小。我实际下载的文件总是空的——恰好是 0 位,而不是 16386。
根据您在评论中给出的反馈,我认为您不符合所有要求。您可以找到要求列表.
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)