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 파일이 제일 편할 듯)
'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 |