각 Apache 가상 호스트마다 별도의 php.ini 파일이 있습니까?


11

각 가상 호스트의 기본 php.ini 파일을 재정의하는 별도의 php.ini 파일을 가질 수 있습니까? Apache / 2.2.14, PHP 5.3.2-1을 실행 중입니다.

예를 들어 내 /var/www/디렉토리의 도메인을 가리키는 여러 vhost가 있습니다 .

/var/www/website1.com  
/var/www/website2.com

내가 원하는 것은 각 호스트에 사용자 정의 php.ini 파일을 배치하여 해당 호스트에 대해서만 기본값을 재정의하지만 값을 지정하지 않으면 원래 기본값을 유지하는 것입니다.

/var/www/website1.com/htdocs/
/var/www/website1.com/php.ini

편집
관심있는 사람들을 위해 NameVirtualHosts를 사용하여 LAMP 서버에서 사이트 별 php.ini 파일을 어떻게 설정합니까? 에서 더 많은 정보를 찾았 습니다. .

답변:


6

mod_php를 사용하는 경우 httpd.conf에서 원하는 값을 무시할 수 있습니다. 다음과 같은 모듈 지시문이 있습니다.

php_value - PHP Value Modifier
php_flag - PHP Flag Modifier
php_admin_value - PHP Value Modifier (Admin)
php_admin_flag - PHP Flag Modifier (Admin)

그렇지 않은 경우 가장 좋은 방법은 PHP FPM입니다 (google it).


2
예, 각 호스트 루트에서 .htaccess를 사용하여 값을 변경할 수도 있습니다.이를 읽은 것부터 수행하는 것이 좋습니다. 그러나 php.ini를 자신의 것으로 재정의 할 수있는 공유 호스팅 웹 호스트를 보았으므로 올바르게 수행하는 다른 방법이 있어야합니까?

2

cgi (또는 fastcgi 또는 fastcgi 인 fpm)를 사용하는 경우 .user.ini파일을 사용할 수 있습니다 .

단순히 배치 .user.ini다음과 같이 당신의 PHP 옵션을 사용하여 웹 루트 디렉토리에 파일을 :

memory_limit=256M
upload_max_filesize=200M
post_max_size=200M

그리고 php는 메인 php.ini 파일을 해당 옵션으로 확장합니다.


-3

VirtualHost 태그 내에 PHPINIDir을 추가하고 vhost가 사용할 php.ini 파일 디렉토리를 가리 킵니다.

<VirtualHost *:80>
[....]
PHPINIDir /var/www/web1
[....]
</VirtualHost>

http://www.howtoforge.com/how-to-specify-a-custom-php.ini-for-a-website-apache2-with-mod_php 에서 가져 왔습니다 .

EST : ** 이로 인해 모든 호스트의 "로드 된 구성 파일"이 변경되었습니다. **


PHPINIDir는 모든 가상 호스트에 대해 php.ini를로드하며,이를 입력 한 호스트 만이 아닙니다. 동일한 것을 가정하여 발견했습니다. (
alandarev
당사 사이트를 사용함과 동시에 당사의 쿠키 정책개인정보 보호정책을 읽고 이해하였음을 인정하는 것으로 간주합니다.
Licensed under cc by-sa 3.0 with attribution required.