Comparaison entre Phar, Tar et Zip

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.

Tableau comparatif : Phar, Tar et Zip
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

Astuce

[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.

Astuce

[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.

Astuce

[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.

LoadingChargement en cours