我刚刚继承了一个 PHP 项目,该项目会生成大型 PDF 文件,并且通常会在几千页和几台服务器内存之后窒息。该项目使用 PDFLib 在“内存”中生成这些文件。
我的任务是解决这个问题,所以我做的第一件事就是将 PDFLib 输出发送到文件而不是在内存中构建。问题是,它似乎仍在构建 PDF 内存。而且大部分内存似乎永远不会返回给操作系统。最终,整个事情都窒息而死。
当我让程序只构建大型 PDF 的片段时,似乎数据没有完全刷新到 end_document() 上的文件中。我没有收到任何错误,但 PDF 不可读,并且在十六进制编辑器中打开它很明显流不完整。
我希望有人遇到过类似的困难。