웹모아
웹모아[손님] 검색   로그인 / 회원가입    



 
환경설정
 


[설치/설정] PHP 파일업로드시 일정용량 이상 업로드가 않된다면
  2007-06-10 18:54:31 댓글:(0)   조회:1272



정상적으로 레드헷 9.0과 PHP 4.2 버전을 설치하였고 파일 업로드 코드도 정상적으로 코딩하였습니다.
그런데 500k 이상의 파일에서 업로드가 되지 않는 현상이 일어났습니다.
500k이하의 파일은 정상적으로 올라가나 그 이상크기의 파일은 반응이 없거나 페이지를 찾을 수 없는 에러가 나거나 하였습니다.

누구나 그렇듯이 저도 php.ini의 파일 업로드 용량 설정 문제인것으로 생각하고 php.ini 파일에서 파일업로드 용량을 20메가로 늘려 주었습니다.
참고로 php.ini파일에서 용량과 관련하여 설정해 주어야 하는 부분은 5부분입니다.

file_uploads = On
파일 업로드를 허용할지 설정하는 부분으로 당연히 ON으로 되어 있어야 합니다.

upload_max_filesize = 20M
최대 업로드 파일 사이즈입니다. 원하시는 용량만큼 설정하시면 됩니다.

post_max_size = 20M
Post방식으로 넘겨질 최대 데이터 사이즈입니다.

max_execution_time = 300
최대 실행시간입니다. 대용량 파일일수록 시간이 많이 걸리니 당연 실행시간을 늘려 주어야 합니다. 0으로 세팅하면 무한대이니 알아서 적당히 세팅해 주십시요

memory_limit = 20M
잘 모르겠는데 여하튼 이부분도 같이 세팅되어야 합니다.


upload_max_filesize, post_max_size, memory_limit는 보통 같은 값으로 세팅을 하는데여. PHP메뉴얼에서 크기를 memory_limit > post_max_size > upload_man_filesize 로 해야 한다고 보았던것 같습니다.
즉 Memory_limit설정값이 post_max_size보다 커야하고 post_max_size는 upload_man_filesize보다 커야한다고여...
그런데 걍 같은 값으로 설정해도 문제가 없는듯 합니다.

이렇게 설정하셨으면 아파치를 재시동 합니다.

/etc/rc.d/init.d/httpd restart

재시동 후 PHP설정이 제대로 적용되었는지 phpinfo()로 확인해 봅니다.
그러면 위 설정값들이 적용된것을 확인할 수 있습니다.

그리고 파일업로드를 다시 테스트 해 보십시요..
정상적으로 파일이 올라가나요?
된다면 좋겠지만 분명 않되시는 분들도 계실것입니다.
제가 그랬으니까요....

자 이제부터 대략 무지난감하죠...
우선 파일업로드 중 에러가 발생한 것이니 로그를 아파치의 에러로그를 살펴봐야 겠습니다.

vi /var/log/httpd/error_log

그럼 에러로그들이 쫙 있는데여....
다음과 같은 문장을 볼 수 있습니다.

[Thu Aug 12 17:56:31 2004] [error] [client xxx.xxx.xxx.xxx] Requested content-length of 818331 is larger than the configured limit of 524288, referer: http://xxx.xxx.xxx.xxx/form.htm

음 짧은 영어실력이지만 대충 읽어보면 다음과 같죠

8월 12일날 에러가 났는데 누구냐면 xxx.xxx.xxx.xxx야... 에러가 뭐라고 왔냐면 올리는 파일이 818331바이트인데 이게 524288 값으로 제한되어 있는 설정값보다 더 크다는 거지..

헉~~!

구럼 도대체 어느넘이 php.ini와 상관없이 파일업로드를 방해하는 것인지가...?
찾아보았더니..

/etc/httpd/conf.d/php.conf

이넘을 열어보면

LimitRequestBody

라는 설정값이 있습니다.이넘의 초기값이 524288 이군여.. 이넘의 값을 대략 20메가 20000000 정도로 해보져....
당근 아파치 재시작...

그리고 파일을 업로드 해보면... ㅋ~~ 감동 .. 정상적으로 올라가는군여....
ㅋㅋㅋ
이상이 제가 해결한 방법이었습니다.
혹시 파일업로드 하시면서 도저히 일정용량 않된다 하시는분 저처럼 해 보시구여...
혹시라도 제 내용이 있으신 분들도 리플 달아주시면 아는한 최대로 수정하겠습니다.

참고 : 시스템 설치 방법에 따라 위에서 설정한 php.conf 파일이 없는 경우도 있습니다.
제가 노트북에 설치한 리눅스 시스템엔 php.conf 파일을 찾을 수 없었습니다.
그런데 이넘은 파일업로드가 문제가 없어서 걍 잘 쓰고 있습니다.



 댓글 (0)


환경설정
페이지: 1 / 2   


   PHP.INI에서의 세션 관련 설정5216
   [PHP] $_SERVER3540
   php 에서 세션시간설정1354
   업로드 용량과 관련한 php.ini 파일 설정1302
   mbstring - PHP 확장모듈을 추가하는 방법1351
     [RE] mbstring - PHP 확장모듈을 추가1473
   타도메인간 쿠키 공유하기1726
   home 데이타 백업 스크립트1307
   cron 이용 일정시간마다 php문실행2119
   cron, crontab, PHP 소스 자동실행, 1582
   crontab 에서 php 파일 실행이 가능한지요?1426
   crontab php 스크립트 실행문제입니다.(1) 1303
   2차 도메인과의 세션고유1531
   POST로 값을 넘길때, 만료된 페이지입니다 문제의(홈마스타)3120
   세션(로그인)시간 무한대로 늘리기 초간단 초보용(홈마스타)(2) 1410
   php mysql 세션 관리(홈마스타)2668
   세션을 DB로 관리하기 + 쪽지 확인하기(홈마스타)(1) 1611
   브라우져를 종료해도 세션이 그대로 살아있어요(홈마스타)2465
   PHP에서 세션 사용하기(홈마스타)1404
[설치/설정] PHP 파일업로드시 일정용량 이상 업(홈마스타)1273
   php.ini 값 설정가능한 범위 알아보기(홈마스타)1538
   PHP 슈퍼전역변수 들의 종류(홈마스타)19583
   쿠키공유를 위한 헤드값(홈마스타)1417
   php.ini 설정하기(홈마스타)1425
   php.ini (V4.2.3) - III(홈마스타)1399
   php.ini (V4.2.3) - II(홈마스타)1438
   환경을 실행중에 임시로 바꾸기(홈마스타)1299
   php.ini (V4.2.3)(홈마스타)1500
   error_reporting(홈마스타)1796
   경과만료 페이지 없애기(홈마스타)1634
[1]  [2]  

복수단어 검색은 공백(space)로 구분해 주세요. 1




 
최근 글
[손님]

인기 글
[손님]