NameVirtualHosts를 사용하여 다양한 웹 사이트를 제공 하는 LAMP 서버가 있습니다.
최근에 전역 php.ini 파일을 갖는 것이 좋았지 만 최근에 개발자 중 한 명이 php.ini에서 전역으로 설정하지 않는 일부 설정을 요청했습니다.
사이트 별로 php.ini 파일을 설정할 수 있다고 들었지만 ,이 작업을 수행하는 방법을 모르겠습니다.
누군가 이것을 달성하는 방법에 대해 올바른 방향으로 나를 가리킬 수 있습니까?
답변
php.ini에 배치 할 대부분의 설정은 .htaccess 또는 해당 사이트 의 아파치 구성 에 배치 할 수도 있습니다 . 예를 들어 내 가상 호스트 중 하나가 .htaccess에 있습니다.
php_value display_errors 1
php_value register_globals 0
php_value short_open_tag 0
php_value magic_quotes_runtime 0
php_value magic_quotes_gpc 0
php_value session.name "PHPSESSID_SITEBLAH"
php_value session.gc_maxlifetime 57600
php_value session.gc_probability 1
php_value session.gc_divisor 500
답변
Apache 구성 파일 (httpd.conf / apache.conf)에서 구성 설정을 지정할 수도 있습니다. 귀하의 경우 컨텍스트 내에서 구성 값을 지정할 수 있습니다.
다음 예제는 가상 호스트 example.com에 대해 upload_max_filesize를 10M으로 설정해야합니다.
<VirtualHost *>
ServerName example.com
DocumentRoot /path_to_docroot
php_value upload_max_filesize 10M
php_admin_flag allow_url_fopen on
</VirtualHost>
전체 사이트에 대해이 값을 설정하지 않고 응용 프로그램이있는 하나의 특정 디렉토리에이 값을 설정하려는 경우에 값을 지정할 수 있습니다.
<VirtualHost *>
ServerName example.com
DocumentRoot /path_to_docroot
<Location /testApp/>
php_value upload_max_filesize 10M
php_admin_flag allow_url_fopen on
</Location>
</VirtualHost>
자세한 설명 은 http://php.net/manual/en/configuration.changes.php 를 참조 하십시오 .
답변
또 다른 제안은 별도의 독립형 데몬으로 PHP를 실행하는 mod-fastcgi 또는 mod-fcgi를 사용하는 것입니다. 그런 다음 각 웹 사이트에 대해 별도의 사용자 및 php.ini 구성 파일을 정의 할 수 있습니다.
답변
또 다른 옵션은 suPHP 이며 각 VirtualHost에 대해 php.ini를 정의 할 수 있습니다. 또한 각 VirtualHost에 대해 PHP 버전을 지정할 수 있습니다.