(PHP 5 >= 5.3.0, PHP 7, PHP 8, PECL phar >= 2.0.0)
PharData::convertToExecutable — Converte um arquivo tar/zip não executável em um arquivo phar executável
$format = null, ?int $compression = null, ?string $extension = null): ?PharNota:
Este método requer que a configuração
phar.readonlydo php.ini seja definida como0para funcionar com objetos Phar. Caso contrário, uma exceção PharException será lançada.
Este método é usado para converter um arquivo tar ou zip não executável em um arquivo phar executável. Qualquer um dos três formatos de arquivo executável (phar, tar ou zip) pode ser usado, e a compactação de todo o arquivo também pode ser realizada.
Se nenhuma alteração for especificada, este método lançará uma BadMethodCallException.
Se bem-sucedido, o método cria um novo arquivo no disco e retorna um objeto Phar. O arquivo antigo não é removido do disco e deve ser removido manualmente após a conclusão do processo.
format
       Deve ser um dos seguintes: Phar::PHAR, Phar::TAR,
       ou Phar::ZIP. Se definido como null, o formato de arquivo existente
       será preservado.
      
compression
       Deve ser um dos seguintes: Phar::NONE para nenhuma compactação de arquivo inteiro,
       Phar::GZ para compactação baseada em zlib e
       Phar::BZ2 para compactação baseada em bzip.
      
extension
       Este parâmetro é usado para substituir a extensão de arquivo padrão para um
       arquivo convertido. Observe que todos os arquivos phar baseados em zip e tar devem conter
       .phar em sua extensão para serem processados como um
       arquivo phar.
      
       Ao converter para um arquivo baseado em PHAR, as extensões padrão são
       .phar, .phar.gz ou .phar.bz2
       dependendo da compactação especificada. Para arquivos PHAR baseados em tar, as
       extensões padrão são .phar.tar, .phar.tar.gz
       e .phar.tar.bz2. Para arquivos PHAR baseados em ZIP, a
       extensão padrão é .phar.zip.
      
Este método lança uma BadMethodCallException quando não é possível compactar, ou se um método de compressão desconhecido foi especificado, ou se o arquivo solicitado está armazenando em buffer com Phar::startBuffering() e não foi concluído com Phar::stopBuffering(); uma UnexpectedValueException se o suporte à gravação estiver desabilitado; e uma PharException se algum problema for encontrado durante o processo de criação do phar.
| Versão | Descrição | 
|---|---|
| 8.0.0 | format,compressionelocalNameagora são anuláveis. | 
Exemplo #1 Um exemplo de PharData::convertToExecutable()
Usando PharData::convertToExecutable():
<?php
try {
    $tarphar = new PharData('meuphar.tar');
    // Converte para o formato phar
    // Observe que meuphar.tar *não* é excluído
    $phar = $tarphar->convertToExecutable(Phar::PHAR); // cria meuphar.phar
    $phar->setStub($phar->createDefaultStub('cli.php', 'web/index.php'));
    // cria meuphar.phar.tgz
    $compressed = $tarphar->convertToExecutable(Phar::TAR, Phar::GZ, '.phar.tgz');
} catch (Exception $e) {
    // lida com erros
}
?>
