« Phar ファイルのスタブ
Tar 形式の phar アーカイブ »

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
ウェブアプリケーションへの対応 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 でも作成できます。

関連キーワード:
phar   Phar   アーカイブ   スタブ   拡張   徹底   readonly   ヒント   vs.   単位   圧縮   全体   メタデータ   中身   展開   サポート   答え   マトリックス   一般的   シグネチャ   検証   ウェブアプリケーション   ストリーム   ラッパー   環境
関連する関数・ページ:
phar.fileformat.stub   phar.fileformat   phar.isfileformat   phar.iswritable   phar.construct   phar.delete