我正在使用 TCPDF 库生成关于我的一个应用程序的报告。当我使用 TCPDF 生成 PDF 时,分配的内存块像 256MB 并且在生成 PDF 之后,分配的内存并没有得到释放。
这阻塞了大约 2GB 的内存。所以我的最终解决方案是用其他库更改 TCPDF 库。
任何人都可以知道为什么 TCPDF 分配内存或者有什么方法可以在 pdf 生成后刷新内存吗?
如果您的服务器上运行 PHP5:您的 TCPDF 对象有__deconstruct()
方法吗?
如果您的服务器上正在运行 PHP4:请尝试unset($pdfobject)
.
完成创建/编写/打印 PDF 后运行这些方法。
您是否正在清理视图中的输出缓冲区?我也在我的一些蛋糕项目中使用 TCPDF,但从来没有遇到过这个问题。你的视图应该是这样的:
<?php
// Start output buffering
ob_start();
// Your TCPDF code here
// Clean the output buffer
ob_end_clean();
对我来说效果很好,内存在生成后立即释放。