Quais são os pontos positivos e negativos dos três formatos de arquivo suportados na extensão phar? Esta tabela tenta responder a essa pergunta.
Característica | Phar | Tar | Zip |
---|---|---|---|
Formato de arquivo padrão | Não | Sim | Sim |
Pode ser executado sem a extensão Phar [1] | Sim | Não | Não |
Compactação por arquivo | Sim | Não | Sim |
Compactação de arquivo inteiro | Sim | Sim | Não |
Validação de assinatura de arquivo inteiro | Sim | Sim | Sim |
Suporte a aplicativos específicos da Web | Sim | Sim | Sim |
Metadados por arquivo | Sim | Sim | Sim |
Metadados de arquivo inteiro | Sim | Sim | Sim |
Criação/modificação de arquivo [2] | Sim | Sim | Sim |
Suporte total para todas as funções do empacotador de fluxo | Sim | Sim | Sim |
Pode ser criado/modificado mesmo que phar.readonly=1 [3] | Não | Sim | Sim |
[1] O PHP só pode acessar diretamente o conteúdo de um arquivo Phar
sem a extensão Phar se estiver usando um stub
que extrai o conteúdo do arquivo Phar. O stub
criado por Phar::createDefaultStub() extrai
o arquivo Phar e executa seu conteúdo a partir de um diretório temporário
se nenhuma extensão Phar for encontrada.
[2] Todo acesso de gravação requer que phar.readonly
seja desabilitado no php.ini ou diretamente na linha de comando.
[3] Somente arquivos tar e zip sem .phar
em seu
nome de arquivo e sem um stub executável .phar/stub.php
podem ser criados se phar.readonly=1.