Phar 설치 런타임 구성

이러한 함수의 동작은 php.ini의 설정에 영향을 받습니다.

파일 시스템 및 스트림 구성 옵션

Name Default Changeable Changelog
phar.readonly "1" PHP_INI_ALL  
phar.require_hash "1" PHP_INI_ALL  
phar.cache_list "" PHP_INI_SYSTEM  

다음은 구성 지시문에 대한 간단한 설명입니다.

phar.readonly bool
이 옵션은 phar 스트림 또는 Phar 객체의 쓰기 지원을 사용하여 Phar 아카이브의 생성 또는 수정을 비활성화합니다. phar 확장의 편리한 쓰기 지원으로 다른 일반적인 보안 취약점과 결합될 때 PHP 기반 바이러스를 직접 생성할 수 있으므로 이 설정은 프로덕션 시스템에서 항상 활성화해야 합니다.

Note: 이 설정은 보안상의 이유로 php.ini에서만 해제할 수 있습니다. php.ini에서 phar.readonly가 비활성화된 경우 사용자는 스크립트에서 phar.readonly를 활성화하거나 나중에 비활성화할 수 있습니다. php.ini에서 phar.readonly가 활성화된 경우 스크립트는 INI 변수를 무해하게 "재활성화"할 수 있지만 비활성화할 수는 없습니다.

phar.require_hash bool
이 옵션은 열려 있는 모든 Phar 아카이브에 일종의 서명(현재 MD5, SHA1, SHA256, SHA512 및 OpenSSL이 지원됨)을 포함하도록 강제하고 서명이 포함되지 않은 Phar 아카이브 처리를 거부합니다.

Note:

이 설정은 php.ini에서만 해제할 수 있습니다. php.ini에서 phar.require_hash가 비활성화된 경우 사용자는 스크립트에서 phar.require_hash를 활성화하거나 나중에 비활성화할 수 있습니다. php.ini에서 phar.require_hash가 활성화된 경우 스크립트는 INI 변수를 무해하게 "다시 활성화"할 수 있지만 비활성화할 수는 없습니다.

이 설정은 PharData 클래스로 일반 tar 파일을 읽는 데 영향을 미치지 않습니다.

주의 phar.require_hash는 보안 자체를 제공하지 않으며, 실수로 손상된 Phar 아카이브 실행에 대한 조치일 뿐입니다. Phar를 변조할 수 있는 사람은 나중에 서명을 쉽게 수정할 수 있기 때문입니다.

phar.cache_list string
매핑 phar 아카이브가 웹 서버 시작 시 사전 구문 분석되도록 허용하여 phar 아카이브에서 실행 중인 파일을 기존 디스크 기반 설치에서 해당 파일을 실행하는 속도에 매우 가깝게 가져오는 성능 개선을 제공합니다.

예 #1 phar.cache_list 사용 예

in php.ini (windows):
phar.cache_list =C:\path\to\phar1.phar;C:\path\to\phar2.phar
in php.ini (unix):
phar.cache_list =/path/to/phar1.phar:/path/to/phar2.phar