Quels sont les avantages et les inconvénients de chacun des trois formats supportés par l'extension phar ? Ce tableau tente de répondre à cette question.
Fonctionnalité | Phar | Tar | Zip |
---|---|---|---|
Format de fichier standard | Non | Oui | Oui |
Peut être exécuté sans l'extension Phar [1] | Oui | Non | Non |
Compression par fichier | Oui | Non | Oui |
Compression pour toute l'archive | Oui | Oui | Non |
Validation par signature de toute l'archive | Oui | Oui | Oui |
Support d'applications spécifiquement Web | Oui | Oui | Oui |
Métadonnées par fichier | Oui | Oui | Oui |
Métadonnées pour toute l'archive | Oui | Oui | Oui |
Création/modification d'archive [2] | Oui | Oui | Oui |
Support complet de toutes les fonctions de flux | Oui | Oui | Oui |
Peut être créée/modifiée même si phar.readonly=1 [3] | Non | Oui | Oui |
[1] PHP ne peut accéder directement au contenu d'une archive Phar sans que l'extension
Phar soit installée si elle utilise un conteneur
qui extrait le contenu de l'archive phar. Le conteneur
créé par Phar::createDefaultStub() extrait
l'archive phar et exécute son contenu à partir d'un répertoire temporaire si
aucune extension phar n'est trouvée.
[2] Tous les accès en écriture nécessitent que phar.readonly
soit
désactivé dans le php.ini ou directement via la ligne de commande.
[3] Seules les archives tar ou zip sans .phar
dans leur
nom et sans conteneur exécutable .phar/stub.php
peuvent être créées si phar.readonly=1.