Php/docs/phar.fileformat.comparison

提供:Dev Guides
< Php
移動先:案内検索

Phar 形式と Tar 形式、Zip 形式の徹底比較

phar 拡張モジュールがサポートする 3 つのファイル形式って、何がどう違うのでしょう? その答えを次の表にまとめました。

機能マトリックス: Phar vs. Tar vs. Zip
機能 Phar Tar Zip
一般的なファイル形式 No Yes Yes
Phar 拡張モジュールなしでの実行

[1]

Yes No No
ファイル単位での圧縮 Yes No Yes
アーカイブ全体の圧縮 Yes Yes No
アーカイブ全体のシグネチャによる検証 Yes Yes Yes (PHP 5.3.1+)
ウェブアプリケーションへの対応 Yes Yes Yes
ファイルごとのメタデータ Yes Yes Yes
アーカイブ単位のメタデータ Yes Yes Yes
アーカイブの作成/変更

[2]

Yes Yes Yes
すべてのストリームラッパー関数への対応 Yes Yes Yes
phar.readonly=1 の場合でも作成/変更が可能

[3]

No Yes Yes

ヒント [1] Phar 拡張モジュールが使用できない環境で Phar アーカイブの中身に PHP からアクセスする場合は、その スタブ を使用します。ここに phar アーカイブの中身を展開するコードが含まれています。 phar 拡張モジュールが見つからない場合は、 Phar::createDefaultStub() で作成したスタブが phar アーカイブを展開し、テンポラリディレクトリ内でそれを実行します。


ヒント [2] 書き込みアクセスを行うには、php.ini あるいはコマンドラインで phar.readonly を無効にする必要があります。


ヒント [3] tar および zip 形式のアーカイブでファイル名に .phar がつかない、かつ実行スタブ .phar/stub.php を含まないファイルは phar.readonly=1 でも作成できます。