Есть что-то, что я полностью пропустил для файлов phar. Я устанавливаю проект, который требует phpunit, pdepend и других зависимостей. Я отобрал их как .phar файлы. Но я не могу извлечь файлы из них, используя инструмент командной строки (команда php). Я искал проблему, и я ничего не ответил на этот вопрос. Может ли кто-нибудь помочь?
Извлечение файлов из .phar-архива
Ответ 1
Да, эта библиотека может это сделать: https://github.com/koto/phar-util
phar-extract library.phar output-directory
Ответ 2
Продолжая отвечать на @pozss, вы можете фактически использовать PharData- > extractTo в простой однострочной линии:
php -r '$phar = new Phar("phar-file.phar"); $phar->extractTo("./directory");'
Ответ 3
Не уверен, что он новый, но в соответствии с PHP 5.4.16 это работает:
phar extract -f %some phar file%
phar извлекается относительно вашего текущего рабочего каталога.
Ответ 4
PhpStorm IDE может использоваться для просмотра содержимого phar-архивов.
Ответ 5
Этот сайт легко конвертирует файлы .phar в файлы .zip.
Попробуйте это.
Ответ 6
Если вы хотите просто использовать его, вы должны включить его как phar:///path/to/myphar.phar/file.php
.
Но если вы действительно хотите его распаковать, см. PharData класс - неизвестного (внутреннего) извлечения в командной строке, но вы может написать script для этого.
Ответ 7
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
Это даст вам все файлы без сжатия!