블로그 이미지
progh2
지루한 것에서 벗어나 재미난 것 속으로 풍덩~☆

calendar

1 2 3 4
5 6 7 8 9 10 11
12 13 14 15 16 17 18
19 20 21 22 23 24 25
26 27 28 29 30 31

Notice

Recent Post

Recent Comment

Archive

2004. 6. 1. 17:37 기술문서창고/php
이전에 SCSC 서버에 아는 분(꽃님누나)이 테터툴즈를 설치해서 잘 사용하는 것을 본 적이 있습니다.이상한 것은, 서울대 서버 내에 있는 서버에 테터툴즈를 포함한 몇몇 복잡한 php나 cgi 프로그램을 설치하면 서울대 방화벽에서 연결을 차단하곤 했는데 그런 현상이 나타나지 않은 것입니다. 그래서 원인을 추측해보니, 설치된 테터툴즈의 directory가 cgi-bin 아래에 있다는 것을 발견했습니다. 그래서, 혹시 cgi-bin 아래에 있는 프로그램들은 연결을 차단당하지 않는 것이 아닐까란 생각이 들어 한번 시도해보았는데 아직까진 차단당하지 않았습니다. ;_; 경과를 몇일 더 두고 봐야겠지만..

아무튼 이렇게 과서버에 돌아온 김에 몇가지 php 설정변경을 해보았습니다. 오늘 시도한 것은 업로드 용량 조절인데, /etc/apache/php.ini 파일의 설정을 변경해서 2메가로 한정된 용량을 늘려보는 것이지요. 그래서 여러번의 시행착오끝에 아래 url에서 문제를 알아낼 수 있었고, 해결했습니다.
http://kr.php.net/manual/kr/configuration.directives.php#ini.memory-limit

아래 2개의 설정은 기본적인 설정으로, 여기서 용량을 늘려주면 업로드 용량이 증가하게 됩니다.
upload_max_filesize = 2M
post_max_size = 8M

하지만, 실제 해보면 10메가 정도 까지는 잘되나 그 이상으로 올리면 마음대로 되지 않는다는 것을 알 수 있습니다. 그 이유는 "시간설정" 때문입니다.즉, php 실행시간이 30초를 넘어가면 자동취소되기 때문에 이 설정도 변경해주어야 합니다.
max_execution_time = 30

그래도 약간밖에 늘어나지 않는다는 것을 깨달을 수 있습니다. 이것은 "메모리"문제 때문입니다. php 스크립트가 차지하는 메모리양을 제한해놓았기 때문에, 이것까지 손을대지 않으면 아됩니다. 최소한 업로드 파일용량보다 크게 해야하는 것 같습니다. 즉 8메가를 올린다고 하면 8보다 큰 값을 지정해주어야지 제대로 업로드가 되는 것입니다.
memory_limit = 8M

이 말은 곧 업로드 용량을 허용한만큼 서버의 메모리를 소비한다는 말입니다. 따라서 여러 클라이언트가 접속해서 한꺼번에 대용량들을 업로드 한다면, 서버의 메모리는 금방 고갈되서 스왑메모리를 소비할 것이고 이렇게 되면 서버는 매우 느려질 수 있습니다. 이렇기 때문에 php.ini 의 설정에서는 2메가라는 매우 적은 용량으로 제한해놓은 것이라 생각해볼 수 있습니다.

그래서, 결국 제가 한 설정은 다음과 같습니다.
upload_max_filesize = 100M
post_max_size = 100M
max_execution_time = 180
memory_limit = 106M
100메가 까지는 너끈히 올릴 수 있겠지요. :)
메모리제한을 -1 로 하면 무한(..)이 되긴 하는데 이거가지고 이상한짓을 할 사람도 있지 않을까 해서 하지 않았습니다. ( ")
그런데, 업로드 용량을 늘려서 어디다 쓰지?
posted by progh2