我正在使用TCPDF库来生成我的一个应用程序的报告。当我使用TCPDF生成PDF时,内存块被分配为256MB&生成PDF后,分配的内存不会自由。
这阻止了大约2GB的内存。所以我的最终解决方案是用其他lib更改TCPDF库。
有人知道为什么TCPDF会分配内存,还是有什么方法可以在pdf生成后刷新内存?
答案 0 :(得分:1)
如果您的服务器上运行了PHP5:您的TCPDF对象是否有__deconstruct()
方法?
如果您的服务器上运行了PHP4:请尝试unset($pdfobject)
。
完成创建/编写/打印PDF后,运行这些方法。
答案 1 :(得分:1)
您是否在View中清理输出缓冲区?我也在我的一些Cake项目中使用TCPDF,但从未遇到过这个问题。你的观点应该是这样的:
<?php
// Start output buffering
ob_start();
// Your TCPDF code here
// Clean the output buffer
ob_end_clean();
对我来说效果很好,记忆会在一代又一代后被释放。