我正在尝试使用tcpdf库在同一PDF中生成批量发票(用于打印)。问题是,如果生成的页面太多(超过50页),服务器将崩溃,并显示此错误。
致命错误:在第16680行的/home/user/public_html/lib/tcpdf/tcpdf.php中,允许的内存大小33554432字节耗尽(尝试分配72字节)
所以我可以看到我账户上的最大内存限制是335544320字节。我尝试使用ini_set('memory_limit', '-1');,但它无法传递335544320个字节。在我的本地主机上工作正常,因为我有所有可用的memory_limit。
因此,问题是如何解决这个问题才能正常工作。查看或下载包含所有发票的PDF。我在想,如果因为内存问题不能做到这一点,那么将每个PDF保存在一个文件夹中,然后压缩并下载该文件夹。
发布于 2014-12-11 23:22:21
TCPDF的构造器有$diskcache参数:
/**
* @param $diskcache (boolean) If TRUE reduce the RAM memory usage by caching temporary data on filesystem (slower).
*/
public function __construct($orientation='P', $unit='mm', $format='A4', $unicode=true, $encoding='UTF-8', $diskcache=false, $pdfa=false)另一种选择是创建单独的页面/发票作为单独的pdf文件,然后使用任何可用的解决方案将它们合并。参见Merge pdf files with php。
https://stackoverflow.com/questions/27425970
复制相似问题