【发布时间】:2021-01-01 04:26:40
【问题描述】:
我正在尝试编写一个应该创建存档并压缩它和/或解压缩压缩存档的类。
创建一个存档然后将其压缩或单独解压缩一个压缩存档都没有问题。
但是,如果我在彼此 phar 认为旧存档文件仍然存在之后立即执行这些操作,但是由于我通过取消链接删除了该文件,因此它实际上不再存在。
那么谁能解释为什么下面的例子失败了?
PHP 致命错误:未捕获的 BadMethodCallException:无法新添加 转化的phar “test.tar”到列表 phars,同名的phar已经存在
mkdir("test");
file_put_contents("test/a", "testa");
file_put_contents("test/b", "testb");
$phar = new PharData("test.tar");
$phar->buildFromDirectory('test');
$phar->compress(Phar::GZ);
unset($phar);
unlink("test.tar");
$phar = new PharData("test.tar.gz");
$phar->decompress();
【问题讨论】:
-
这是 PHP 7.4 特有的吗?
-
@Dharman 不完全是,但仅使用 php 7.4 进行了测试