첫 번째 파일을 대체하는 두 번째 php.ini 파일을 추가할 수 있나요?

첫 번째 파일을 대체하는 두 번째 php.ini 파일을 추가할 수 있나요?

php.ini 파일을 변경했기 때문에 PHP 패키지를 업데이트할 때마다 php.ini 파일을 업데이트하지 않습니다. 변경 사항을 다른 파일로 "포크"하여 변경 사항을 잃지 않고 실제 php.ini 파일을 업데이트하고 싶습니다.

PHP 5.3에 디렉터리별 .ini 파일이 도입되었지만 내 서버에는 여러 가상 호스트가 있으므로 여러 문서 루트가 있으므로 디렉터리별 접근 방식을 사용하여 재정의하는 php.ini 파일을 넣을 수 있는 장소가 없습니다.

PHP가 "수정 중인" php.ini 파일을 확인하도록 하는 방법이 있습니까?

답변1

PHP는 특정 디렉터리에서 추가 .ini 파일을 로드합니다. Debian 8 상자에서 해당 디렉터리는 다음과 같습니다 /etc/php5/apache2/conf.d.

해당 디렉터리의 파일은 알파벳 순서로 로드되므로 파일 이름을 지정하면 00-overrides.ini(예를 들어) 해당 파일이 먼저 로드됩니다. 해당 파일에 설정된 설정은 기본 php.ini에 설정된 설정보다 우선합니다.

답변2

PHP를 Apache 모듈로 실행하는 경우 PHP가 php.ini를 찾을 디렉터리 경로를 설정하는 지시문이 있습니다.

LoadModule php5_module "c:/php/php5apache2.dll"
AddHandler application/x-httpd-php .php

# configure the path to php.ini
PHPIniDir "C:/php"

이 예는 Windows용이지만 Linux 시스템에서도 동일하게 작동합니다.

지정된 위치의 php.ini는바꾸다기본 위치에 있는 php.ini는 어떤 방식으로든 재정의하거나 확장하지 않습니다.

이렇게 하면 PHP를 업데이트할 때 기본 위치의 php.ini를 덮어쓰지만 사용자 정의 php.ini는 덮어쓰지 않습니다.

참조:http://php.net/manual/en/install.windows.apache2.php#install.windows.apache2.module

관련 정보