Comparación cara a cara de Phar, Tar y Zip

¿Cuáles son los aspectos positivos y negativos de los tres formatos de fichero soportados en la extensión phar? Esta tabla intenta responder esta pregunta.

Matriz de características: Phar contra Tar contra Zip
Característica Phar Tar Zip
Formato de Fichero Estádar No
Puede ser ejecutado con la extensión Phar [1] No No
Compresión por fichero No
Compresión de archivo entero No
Validación de firmas del archivo entero Sí (PHP 5.3.1+)
Soporte para aplicaciones específicas de web
Metainformación por fichero
Metainformación del archivo entero
Modificación creación de archivos [2]
Soporte completa para todas las funciones de envoltura de flujos
Puede ser creado/modificado incluso si phar.readonly=1 [3] No

Sugerencia

[1] PHP solamente puede acceder directamente al contenido de un archivo Phar sin la extensión Phar si está utilizando una rutina de interoperabilidad que extraiga el contenido del archivo phar. La rutina de interoperabilidad creada por Phar::createDefaultStub() extrae el archivo phar y ejecuta su contenido desde un directorio temporal si no se encuentra la extensión phar.

Sugerencia

[2] Todos los accesos de escritura requieren que phar.readonly sea deshabilitado en php.ini o directamente or la línea de comandos.

Sugerencia

[3] Solamente se pueden crear archivos tar y zip sin .phar en su nombre de fichero y sin una rutina de interoperabilidad ejecutable .phar/stub.php si phar.readonly=1.