从磁盘

时间:2016-02-24 21:07:47

标签: php memory-management

我有一个脚本从磁盘读取许多小文件(< 2MB)并使用名为ZipStream的库将它们写入zip文件(代码中的行显示了这种情况)。

当使用大量文件运行时,我注意到每次调用addFileFromPath时(按照上面的链接查看代码中的确切行),为PHP分配的内存增加(memory_get_usage(true))和< strong>保持增加,即使该进程正在使用的实际内存使用量(memory_get_usage(false))在保留从磁盘读取的文件的变量被删除后仍然很低(正如我所料)。

PHP最终将达到php.ini中定义的内存分配限制。

所以这真的是一个关于PHP如何分配内存与其使用方式的问题。似乎脚本每次将文件读入内存时都会分配内存,而不是重新使用已经分配的内存。这是对的吗?

有没有办法可以将这些小文件读入内存而不会分配内存永远膨胀?

0 个答案:

没有答案