对于phar文件,我完全错过了一些东西。我正在安装一个需要phpunit,pdepend和其他依赖项的项目。我把它们作为.phar文件获取。但是,我无法使用命令行工具(php命令)从中提取文件。我搜索了问题,我发现没有什么能真正回答这个问题。有人可以帮忙吗?
答案 0 :(得分:79)
扩展@ pozs的答案,你可以在一个简单的单行中使用PharData->extractTo:
php -r '$phar = new Phar("phar-file.phar"); $phar->extractTo("./directory");'
答案 1 :(得分:52)
不确定它是否是新的,但在PHP 5.4.16下可行:
phar extract -f %some phar file%
相对于您当前的工作目录提取phar。
答案 2 :(得分:22)
是的,这个库可以做到:https://github.com/koto/phar-util
phar-extract library.phar output-directory
答案 3 :(得分:10)
PhpStorm IDE可用于查看phar档案的内容。
答案 4 :(得分:6)
答案 5 :(得分:4)
如果您只想使用它,则应包括phar:///path/to/myphar.phar/file.php
。
但是如果你真的想要解压缩它,请参阅PharData类 - 命令行中没有已知(内部)提取,但你可以为此编写脚本。
答案 6 :(得分:0)
Php还具有提取phar档案的功能,但文件保持当前压缩。要正确提取存档,必须先将其转换为未加密的表单,然后再将其解压缩。
<?php
$phar = new Phar('Someclass.phar');
$phar2 = $phar->convertToExecutable (Phar::TAR,Phar::NONE); //convert to an uncompressed tar archive
$phar2->extractTo('/some/path/'); // extract all files
这将为您提供所有未压缩的文件!