Pharファイルに関して、私が完全に見逃したものがあります。 phpunit、pdepend、およびその他の依存関係を必要とするプロジェクトをインストールしています。それらを.pharファイルとして取得しました。しかし、コマンドラインツール(phpコマンド)を使用してファイルを抽出することはできません。私は問題をグーグルで調べましたが、質問に実際に答えているものは見つかりませんでした。誰も助けることができますか?
はい、このライブラリはそれを行うことができます: https://github.com/koto/phar-util
phar-extract library.phar出力ディレクトリ
@pozsの答えを拡張すると、実際にはシンプルなワンライナーで PharData-> extractTo を使用できます。
php -r '$phar = new Phar("phar-file.phar"); $phar->extractTo("./directory");'
それが新しいかどうかはわかりませんが、PHP 5.4.16で動作します:
phar extract -f %some phar file%
Pharは、現在の作業ディレクトリに関連して抽出されます。
PhpStorm IDEは、pharアーカイブのコンテンツの表示に使用できます。
このサイト .pharファイルを.Zipファイルに簡単に変換します。
やってみて。
使用するだけの場合は、phar:///path/to/myphar.phar/file.php
。
しかし、本当にアンパックしたい場合は、 PharData クラスを参照してください-コマンドラインでの既知の(内部)抽出はありませんが、そのためのスクリプトを書くことができます。
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
これにより、すべてのファイルが非圧縮になります!