-1

我最近在报告中遇到了这个错误。

PHP Fatal error:  Allowed memory size of 1073741824 bytes exhausted (tried to allocate 3022731 bytes)

我似乎无法解决问题,我已经添加:

set_time_limit(0);
ini_set('memory_limit', -1);

在我的脚本中,但似乎问题仍然存在,顺便说一句我正在使用

PHPExcel ver 1.7.6

我的 excel 文件输出包含 55 个标题和多个工作表(接近 45 个 - 增加),每个工作表包含大约 150 到 500 条记录

我想寻求您的帮助并建议解决我的补救措施T_T

谢谢!

4

2 回答 2

0

我建议将 Excel 文件导入 Access 数据库,然后通过 ODBC 从 PHP 查询数据库。

于 2017-07-04T20:26:29.953 回答
0

也许尝试使用https://github.com/PHPOffice/PhpSpreadsheet - 这是 PhpExcel 的重写版本。它工作得更好。我知道,因为我两个都用过。

如果这对您的问题没有帮助,您应该使用缓存,请参阅:https ://phpspreadsheet.readthedocs.io/en/develop/topics/memory_saving/

PS 如果您将使用 sqlite3 缓存,请确保您安装了正确的扩展 php-sqlite3,因为它会静默失败并且如果扩展不存在则不会缓存。

于 2017-07-04T21:30:46.987 回答