PharData::convertToExecutable
(PHP 5 >= 5.3.0, PHP 7, PECL phar >= 2.0.0)
PharData::convertToExecutable — 実行可能でない tar/zip アーカイブを実行可能な phar アーカイブ形式に変換する
説明
PharData::convertToExecutable
([ int $format
[, int $compression
[, string $extension
]]] ) : Phar
注意:
このメソッドは、
php.ini
のphar.readonly
が0
でないと Phar オブジェクトで動作しません。それ以外の場合は PharException がスローされます。
このメソッドは、実行可能でない tar あるいは zip アーカイブを実行可能な phar 形式に変換します。実行可能なファイル形式 3 種類 (phar, tar あるいは zip) のどれでも使用することができ、アーカイブ全体の圧縮も行うことができます。
何も変更しなかった場合、このメソッドは BadMethodCallException をスローします。
成功した場合は、このメソッドはディスク上に新しいアーカイブを作成して Phar オブジェクトを返します。 古いアーカイブは削除されずディスク上に残るので、 処理を終えたら手動で削除する必要があります。
パラメータ
format
これは
Phar::PHAR
、Phar::TAR
あるいはPhar::ZIP
のいずれかとなります。null
を指定すると、現在のファイル形式をそのまま保持します。compression
アーカイブ全体の圧縮を行わない場合は
Phar::NONE
、 zlib による圧縮の場合はPhar::GZ
、そして bzip による圧縮の場合はPhar::BZ2
のいずれかを指定します。extension
このパラメータは、変換後のアーカイブのデフォルトのファイル拡張子を変更します。 実行可能でない tar や zip アーカイブのファイル名としては
.phar
は使用できないことに注意しましょう。phar 形式のアーカイブに変換する場合、デフォルトの拡張子は圧縮形式によって
.phar
、.phar.gz
あるいは.phar.bz2
のいずれかとなります。tar 形式のアーカイブの場合、デフォルトの拡張子は.phar.tar
、.phar.tar.gz
および.phar.tar.bz2
です。zip 形式のアーカイブの場合、 デフォルトの拡張子は.phar.zip
となります。
エラー / 例外
圧縮ができない場合や無効な圧縮方式が指定された場合、あるいは Phar::startBuffering() でバッファリングしたまま Phar::stopBuffering() を実行していないアーカイブを処理しようとした場合に BadMethodCallException をスローします。 また、書き込みサポートが無効な場合に UnexpectedValueException、 phar 作成中に何らかの問題が発生した場合に PharException をスローします。
例
例1 PharData::convertToExecutable() の例
PharData::convertToExecutable() の使用例です。
<?phptry { $tarphar = new PharData('myphar.tar'); // phar ファイル形式に変換します // myphar.tar は削除 *されない* ことに注意しましょう $phar = $tarphar->convertToExecutable(Phar::PHAR); // creates myphar.phar $phar->setStub($phar->createDefaultStub('cli.php', 'web/index.php')); // myphar.phar.tgz を作成します $compressed = $tarphar->convertToExecutable(Phar::TAR, Phar::GZ, '.phar.tgz');} catch (Exception $e) { // ここでエラー処理をします}?>
参考
- Phar::convertToExecutable() - phar アーカイブを実行可能な別の phar アーカイブ形式に変換する
- Phar::convertToData() - phar アーカイブを実行可能でない tar あるいは zip ファイルに変換する
- PharData::convertToData() - phar アーカイブを実行可能でない tar あるいは zip ファイルに変換する