我用dompdf生成大约700个PDF并将它们保存到磁盘上。每个都涉及数据库查询以获取PDF的信息。当我运行它时,我大约需要2分钟,然后内存不足。
为什么我内存不足?不应该每个PDF生成消耗x内存,然后在完成时释放它吗?
在PHP中执行此类大型操作以避免勒死服务器有什么好的做法?
更多信息:
我无法正确使用wysiwyg代码格式,所以这里有一个问题片段的贴纸:http://pastie.org/3800751
答案 0 :(得分:1)
您的问题可能是您异步运行代码。尝试同步运行它,可能需要很长时间,但它会工作。另外,请确保在每个循环结束时丢弃对象。
答案 1 :(得分:1)
思路:
答案 2 :(得分:0)
通常,像这样的大型操作应分叉到子进程中,每个进程处理生成一个PDF。如果您的PDF或DB库泄漏内存,这应该避免内存不足的情况。
答案 3 :(得分:0)
尝试在memory_limit
php.ini