【发布时间】:2020-11-27 01:53:15
【问题描述】:
我有一个 4 GB 的 tar.gz 文件,我想解压缩成一个 tar 文件。我一直在用
$p = new PharData('/path/to/file/name');
$p->decompress();
尝试这样做。但是我收到错误“PHP 致命错误:允许的内存大小为 8589934592 字节已用尽(尝试分配 36864 字节)”
我尝试过的事情:
(1) ini_set('memory_limit', '-1'); 结果:通用“已杀死”错误消息
(2) ini_set('memory_limit', '6000M'); 结果:“PHP 致命错误:允许的内存大小为 8589934592 字节已用尽(尝试分配 36864 字节)”错误消息
我还对 php.ini 文件进行了相同的更改。如何将 tar.gz 文件解压成 tar 文件?
【问题讨论】:
-
之后你想对未压缩的文件做什么?该问题的答案将大大缩小您问题的可能答案范围。
-
我建议使用
shell_exec()并执行tarcli,而不是通过PHP。 -
@Sammitch 之后我想提取 tar 文件并解析它包含的 csv
-
如果您的 tar.gz 为 4GB,则您的 CSV 必须是巨大的。接下来,在实际使用该数据时处理内存不足错误。如果您不需要一遍又一遍地执行此操作,只需直接在 shell 中解压缩即可,而不是一开始就涉及 PHP。
标签: php