PharData::convertToExecutable

(PHP 5 >= 5.3.0, PHP 7, PHP 8, PECL phar >= 2.0.0)

PharData :: convertToExecutable - 실행 불가능한 tar / zip 아카이브를 실행 가능한 phar 아카이브로 변환


설명

public PharData::convertToExecutable(?int $format = null, ?int $compression = null, ?string $extension = null): ?Phar

메모: 이 메서드는 Phar 객체에 대해 작동하기 위해 php.ini 설정 phar.readonly0으로 설정해야 합니다. 그렇지 않으면 PharException이 발생합니다.

이 메서드는 실행 불가능한 tar 또는 zip 아카이브를 실행 가능한 phar 아카이브로 변환하는 데 사용됩니다. 세 가지 실행 파일 형식(phar, tar 또는 zip) 중 하나를 사용할 수 있으며 전체 아카이브 압축도 수행할 수 있습니다.

변경 사항이 지정되지 않은 경우 이 메서드는 BadMethodCallException을 throw합니다.

성공하면 이 메서드는 디스크에 새 아카이브를 만들고 Phar 개체를 반환합니다. 이전 아카이브는 디스크에서 제거되지 않으며 프로세스가 완료된 후 수동으로 수행해야 합니다.


매개변수

format
Phar::TAR 또는 Phar::ZIP 중 하나여야 합니다. null로 설정하면 기존 파일 형식이 유지됩니다.
compression
전체 아카이브 압축이 없는 경우 Phar::NONE, zlib 기반 압축의 경우 Phar::GZ, bzip 기반 압축의 경우 Phar::BZ2 중 하나여야 합니다.
extension
이 매개변수는 변환된 아카이브의 기본 파일 확장자를 재정의하는 데 사용됩니다. .phar는 실행할 수 없는 tar 또는 zip 아카이브의 파일 이름 어디에도 사용할 수 없습니다.

tar 기반 phar 아카이브로 변환하는 경우 기본 확장자는 지정된 압축에 따라 .tar, .tar.gz.tar.bz2입니다. zip 기반 아카이브의 경우 기본 확장자는 .zip입니다.


반환 값

이 메서드는 성공하면 Phar 개체를 반환하고 실패하면 null을 반환합니다.


오류/예외

이 메서드는 phar 생성 과정중에 압축할 수 없는 경우 BadMethodCallException을 throw하고, 알 수 없는 압축 메서드가 지정되었으며, 요청된 아카이브가 Phar::startBuffering()으로 버퍼링 중이고 Phar::stopBuffering()으로 종료되지 않았으며, 실행 중에 문제가 발생하면 PharException이 발생합니다.


변경 로그

버전 설명
8.0.0 format,compressionlocalName는 이제 null을 허용합니다.

Examples

예제 #1 PharData::convertToExecutable() 예제

PharData::convertToExecutable() 사용:

                  
<?php
try {
    $tarphar = new PharData('myphar.tar');
    // convert it to the phar file format
    // note that myphar.tar is *not* unlinked
    $phar = $tarphar->convertToExecutable(Phar::PHAR); // creates myphar.phar
    $phar->setStub($phar->createDefaultStub('cli.php', 'web/index.php'));
    // creates myphar.phar.tgz
    $compressed = $tarphar->convertToExecutable(Phar::TAR, Phar::GZ, '.phar.tgz');
} catch (Exception $e) {
    // handle the error here
}
?>
                  
                

기타