Что хорошего и плохого в трёх поддерживаемых форматах файла в модуле phar? В этой таблице предпринята попытка решить этот вопрос.
| Функционал | Phar | Tar | Zip | 
|---|---|---|---|
| Стандартный формат файла | Нет | Да | Да | 
| Возможно выполнение без модуля Phar [1] | Да | Нет | Нет | 
| Пофайловое сжатие | Да | Нет | Да | 
| Сжатие всего архива | Да | Да | Нет | 
| Проверка подписи всего архива | Да | Да | Да | 
| Поддержка веб-приложений | Да | Да | Да | 
| Пофайловые метаданные | Да | Да | Да | 
| Метаданные всего архива | Да | Да | Да | 
| Создание/изменение архива [2] | Да | Да | Да | 
| Полная поддержка всех функций - обёрток потока | Да | Да | Да | 
| Может быть создан/изменён, даже если phar.readonly=1 [3] | Нет | Да | Да | 
     [1] Без модуля Phar PHP может получить прямой доступ к содержимому
     Phar-архива только в том случае, если в нём используется заглушка,
     которая извлекает содержимое phar-архива. Заглушка,
     созданная при помощи Phar::createDefaultStub(), распаковывает
     phar-архив и запускает его содержимое из временного каталога в том случае,
     если не был найден модуль phar.
    
     [2] Для доступа на запись требуется, чтобы был отключён параметр phar.readonly
     в php.ini или непосредственно в консоли.
    
     [3] Только архивы tar и zip без .phar в
     имени файла и без исполняемой заглушки .phar/stub.php
     могут быть созданы, если phar.readonly=1.
    
