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