php 환경변수를 적용하는 몇가지 방법(apm)

apache2 , php5 를 기준으로 php 환경변수가 적용되는 몇가지 방법을 정리한다.
(ubuntu 를 기준으로 설명한다)

apache -> php module 을 로딩할때 php 의 환경변수를 읽어온다.

보통 /etc/php5/apache2/php.ini  파일에 해당 환경변수가 저장되어 있다.

파일업로드 최대사이즈를 조정하는 것을 예로 설명한다.
파일 업로드 사이즈에 관련된 옵션은

upload_max_filesize
memory_limit
post_max_size

의 옵션을 조정해야 한다.

1. php.ini 파일에서 직접 조정한다.
  이때 전체 apache 설정에 적용된다.

2. apache.conf 에서 조정한다.
 ubuntu 는 php 부분을  /etc/apache2/mods-enabled/php5.conf 에 
<IfModule mod_php5.c>
</IfModule>
탭 사이에 

php_value upload_max_filesize 10M
php_value memory_limit 10M
php_value post_max_size 10M

값을 추가해 준다.

이때도 마찬가지로 전체 apache 설정에 적용된다.

3. 가상호스트(virtualhost) 를 사용하는 경우 각 virtualhost 탭 내에 넣을 수 있다.
<IfModule mod_php5.c>
php_value upload_max_filesize 10M
php_value memory_limit 10M
php_value post_max_size 10M
</IfModule>

이떄는 개별 가상호스트 별로 다른 설정값을 적용할 수 있다.
(비슷하게 .htaccess 에 넣어줘도 될 듯 - 테스트는 안 해봤음)

4. php 어플(프로그램) 내에서 변경(ini_set)
ini_set("upload_max_filesize" , "10M");
ini_set("memory_limit" , "10M");
ini_set("post_max_size" , "10M");

이런식으로 해준다. 값 변경 확인은 ini_get("post_max_size"); 으로 확인할 수 있다.
위와 같이 하면 될까?  되기도 하고 안되기도 한다.
http://kr2.php.net/manual/en/ini.php  를 보면, changeable 항목이 PHP_INI_ALL 일때 변경이 된다.
PHP_INI_ALL 이 아닌 항목은 위의 방법(1~3)으로 변경한다.(.htaccess 파일이 제일 편할 듯)

 

http://devlog.experlab.com/386

'PHP' 카테고리의 다른 글

chmod 시 문자열 mode값을 8진수로 변경(String to Octal)  (0) 2016.10.20
파일 다운로드시 파일명 깨짐 현상  (0) 2016.06.14
php http header  (0) 2016.06.14
PHP 코딩스타일 최적화  (0) 2016.06.14
초성 인덱스 검사하기.  (0) 2016.06.14