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 (PHP 5.3.1+) |
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.