Phar::convertToExecutable

(PHP 5 >= 5.3.0, PHP 7, PECL phar >= 2.0.0)

Phar::convertToExecutableConvert a phar archive to another executable phar archive file format

说明

public Phar::convertToExecutable ([ int $format = 9021976 [, int $compression = 9021976 [, string $extension ]]] ) : Phar

Note:

此方法需要 将 php.ini 中的 phar.readonly 设为 0 以适合 Phar 对象. 否则, 将抛出PharException.

This method is used to convert a phar archive to another file format. For instance, it can be used to create a tar-based executable phar archive from a zip-based executable phar archive, or from an executable phar archive in the phar file format. In addition, it can be used to apply whole-archive compression to a tar or phar-based archive.

If no changes are specified, this method throws a BadMethodCallException.

If successful, the method creates a new archive on disk and returns a Phar object. The old archive is not removed from disk, and should be done manually after the process has finished.

参数

format

This should be one of Phar::PHAR, Phar::TAR, or Phar::ZIP. If set to NULL, the existing file format will be preserved.

compression

This should be one of Phar::NONE for no whole-archive compression, Phar::GZ for zlib-based compression, and Phar::BZ2 for bzip-based compression.

extension

This parameter is used to override the default file extension for a converted archive. Note that all zip- and tar-based phar archives must contain .phar in their file extension in order to be processed as a phar archive.

If converting to a phar-based archive, the default extensions are .phar, .phar.gz, or .phar.bz2 depending on the specified compression. For tar-based phar archives, the default extensions are .phar.tar, .phar.tar.gz, and .phar.tar.bz2. For zip-based phar archives, the default extension is .phar.zip.

返回值

The method returns a Phar object on success and throws an exception on failure.

错误/异常

This method throws BadMethodCallException when unable to compress, an unknown compression method has been specified, the requested archive is buffering with Phar::startBuffering() and has not concluded with Phar::stopBuffering(), an UnexpectedValueException if write support is disabled, and a PharException if any problems are encountered during the phar creation process.

范例

Example #1 A Phar::convertToExecutable() example

Using Phar::convertToExecutable():

<?php
try {
    
$tarphar = new Phar('myphar.phar.tar');
    
// convert it to the phar file format
    // note that myphar.phar.tar is *not* unlinked
    
$phar $tarphar->convertToExecutable(Phar::PHAR); // creates myphar.phar
    
$phar->setStub($phar->createDefaultStub('cli.php''web/index.php'));
    
// creates myphar.phar.tgz
    
$compressed $phar->convertToExecutable(Phar::TARPhar::GZ'.phar.tgz');
} catch (
Exception $e) {
    
// handle the error here
}
?>

参见

相关文章
php eventdnsbase loads a hosts file in the same format as /etc/hosts from hosts filephp com 函数 convert a variant into a new variant object of another typephp phar construct a phar archive objectphp phar convert a phar archive to a non executable tar or zip filephp phar convert a phar archive to another executable phar archive file formatphp phar copy a file internal to the phar archive to another new file within the pharphp phar create a phar file format specific stubphp what makes a phar a phar and not a tar or a zip? ingredients of all phar archives independent of file formatphp what makes a phar a phar and not a tar or a zip? phar manifest file entry definitionphp what makes a phar a phar and not a tar or a zip? phar file formatphp phar instructs phar to intercept fopen file get contents opendir and all of the stat related functionsphp phar returns true if the phar archive is based on the tar/phar/zip file format depending on the parameterphp phar mount an external path or file to a virtual location within the phar archivephp phar returns the full path on disk or full phar url to the currently executing phar archivephp phardata convert a phar archive to a non executable tar or zip filephp phardata convert a non executable tar/zip archive to an executable phar archivephp phardata copy a file internal to the phar archive to another new file within the pharphp pharfileinfo returns the actual size of the file with compression inside the phar archivephp swoole client redirect the data to another file descriptor.php ziparchive adds a file to a zip archive from the given path
关注编程学问公众号