53

phar ファイルに関して、私が完全に見逃していたことがあります。phpunit、pdepend、およびその他の依存関係を必要とするプロジェクトをインストールしています。それらを .phar ファイルとして取得しました。しかし、コマンド ライン ツール (php コマンド) を使用してそれらからファイルを抽出することはできません。問題をグーグルで検索しましたが、質問に実際に答えているものは何も見つかりませんでした。誰でも助けることができますか?

4

7 に答える 7

91

@pozs の回答を拡張すると、実際に単純なワンライナーでPharData->extractToを使用できます。

php -r '$phar = new Phar("phar-file.phar"); $phar->extractTo("./directory");'
于 2014-01-20T08:34:27.047 に答える
22

はい、このライブラリで実行できます: https://github.com/koto/phar-util

phar-extract library.phar 出力ディレクトリ

于 2012-10-21T11:30:33.870 に答える
7

このサイトでは、.phar ファイルを .zip ファイルに簡単に変換できます。

やってみて。

于 2014-06-03T06:08:53.807 に答える
4

単に使用したい場合は、 as を含める必要がありますphar:///path/to/myphar.phar/file.php

しかし、本当に解凍したい場合は、PharDataクラスを参照してください - コマンドラインでの既知の (内部) 抽出はありませんが、そのためのスクリプトを作成できます。

于 2012-10-21T11:32:39.313 に答える
2

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

これにより、すべてのファイルが非圧縮になります。

于 2015-06-17T12:37:30.370 に答える