본문 바로가기

Web/LINUX

파일 업로드 환경설정 php.ini,httpd.conf

반응형
출처 : http://lanplaza.net


php.ini 설정

기본적으로 업로드에 필요한 부분은 아래 세가지만 수정하시면 됩니다
max_input_time
post_max_size
upload_max_filesize

max_input_time은 업로드 시간입니다.
파일첨부를해서 업로드가 끝날때까지의 시간입니다
기본값이 60이고(초단위) 대용량의 파일 업로드시 적절히 늘려줘야됩니다.
로 500MB파일을 올린다면 60초안에 업로드가 안되고 업로드 중간에 타임아웃될것입니다.
이때는 60초를 더 크게 늘려줘야 합니다.

post_max_size 는 post 방식에서의 업로드 최대크기입니다.
upload_max_filesize 는 업로드 최대 파일크기입니다.

어떤분은 max_execution_time을 0으로 하라고하는데.
max_execution_time은 스크립트의 실행시간입니다.
업로드와는 별 상관이 없습니다.
잘못된 스크립트 사용시 서버가 무한루프에 빠지는것을 방지하기 위한 부분입니다.
기본값이30(초단위)입니다.
즉 잘못된 스크립트를 사용하여 무한루프시 30초가 지나면 자동으로 타임아웃되어 서버를 보호해줍니다.

참고로 php.ini 수정시 서버를 재시작해줘야됩니다



---------------------------------------------------------------------------------------------------------------

max_execution_time = 30; <= 스크립트 (php)의 실행 시간 '0' 설정시 제약 없음
memory_limit = 128M; <= 시스템 사용 메모리
max_input_time = 3600; <= 스크립트 페이지로 넘어가기 전에 php 엔진이 데이타를 업로더 받는 시간

post_max_size = 2000M; <= post 로 전송하는 파일 최대 용량
upload_max_filesize = 2000M; <= 업로드 하는 파일 최대 용량, post_max_size 보다 크게 주는건 의미가 없음 작거나 같게


이렇게 해주시면 됩니다.

---------------------------------------------------------------------------------------------------------------

php.conf <= apache 2.0 에서는 따로 관리

LimitRequestBody 524288 # 524288 이 초기값입니다. 원하는 크기를 설정하시면 됩니다.
아파치 웹서버를 이용하여 업/다운로드 하는 모든 파일의 사이즈를 제한합니다.

아래는 download 디렉토리를 10M로 업/다운로드 크기를 제한한 예입니다.

LimitRequestBody 10240000



--------------------------------------------------------------------------------------------------



httpd.conf <= 아파치에서 파일 전송 용량을 제한 할 경우



<Directory />
LimitRequestBody 5000000
</Directory>
<Directory /home/userdir/>
LimitRequestBody 10240000
</Directory>

위와 같이 LimitRequestBody 를 설정하면 아파치 웹서버를 이용하여 ( / )는 모든 파일의 사이즈를 5M로 제한하고

/home/userdir/ 폴더에 대해서는 10M로 제한하게 됩니다.
반응형

'Web > LINUX' 카테고리의 다른 글

서버 시간 맞추기  (0) 2011.08.31
mii-tool  (0) 2011.08.31
리눅스 포트체크 후 메세지전송  (0) 2011.08.31
리눅스 폴더 링크걸기 & 파일 찾기  (0) 2011.08.31
[팁] 특정시간에 mysql 데이타 백업 (mysqldump)  (0) 2011.08.31