Phar, Tar 및 Zip의 일대일 비교

phar 확장자에서 지원되는 세 가지 파일 형식의 좋은 점과 나쁜 점은 무엇입니까? 이 표는 그 질문을 해결하려고 합니다.

특징 매트릭스: Phar vs. Tar vs. Zip

Feature Phar Tar Zip
표준 파일 형식 No Yes Yes
Phar 확장 없이 실행 가능 [1] Yes No No
파일별 압축 Yes No Yes
전체 아카이브 압축 Yes Yes No
전체 아카이브 서명 검증 Yes Yes Yes
웹 전용 애플리케이션 지원 Yes Yes Yes
파일별 메타데이터 Yes Yes Yes
전체 아카이브 메타데이터 Yes Yes Yes
아카이브 생성/수정 [2] Yes Yes Yes
모든 스트림 래퍼 기능에 대한 완전한 지원 Yes Yes Yes
phar.readonly=1인 경우에도 생성/수정 가능 [3] No Yes Yes

[1] PHP는 Phar 아카이브의 내용을 추출하는 스텁을 사용하는 경우에만 Phar 확장 없이 Phar 아카이브의 내용에 직접 액세스할 수 있습니다. Phar::createDefaultStub()에 의해 생성된 스텁은 phar 확장자가 발견되지 않으면 phar 아카이브를 추출하고 임시 디렉토리에서 내용을 실행합니다.

[2] 모든 쓰기 액세스를 위해서는 php.ini 또는 명령줄에서 직접 phar.readonly를 비활성화해야 합니다.

[3] 파일 이름에 .phar가 없고 실행 가능한 스텁 .phar/stub.php가 없는 tar 및 zip 아카이브만 phar.readonly=1인 경우 생성할 수 있습니다.